From 76dd2b2a645391a015412a1ff4ea02c0747ac10b Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 28 Jul 2022 19:46:14 -0600 Subject: [PATCH 01/24] Fixed rec 1 request and response ... updated fhirServer property in requests to point to sandbox --- .vscode/settings.json | 3 +- ...t-example-rec-01-in-outpatient-opioid.json | 2 +- ...t-example-rec-01-out-inpatient-opioid.json | 151 +++++++++--------- ...-example-rec-02-in-careplan-revisited.json | 2 +- ...ple-rec-02-out-careplan-not-revisited.json | 2 +- ...ec-03-in-no-counseling-within-90-days.json | 2 +- ...-rec-03-out-counseling-within-90-days.json | 2 +- ...est-example-rec-04-long-acting-opioid.json | 2 +- .../request-example-rec-04-new-patient.json | 2 +- ...example-rec-04-not-long-acting-opioid.json | 2 +- ...le-rec-04-opioid-with-abuse-potential.json | 2 +- ...ec-04-patient-view-long-acting-opioid.json | 2 +- ...ample-rec-04-patient-view-new-patient.json | 2 +- ...4-patient-view-not-long-acting-opioid.json | 2 +- ...ient-view-opioid-with-abuse-potential.json | 2 +- ...example-rec-05-mme-greater-than-fifty.json | 2 +- ...st-example-rec-05-mme-less-than-fifty.json | 2 +- ...equest-example-rec-06-in-criteria-met.json | 2 +- ...e-rec-06-out-extended-release-27-days.json | 2 +- ...-example-rec-07-end-of-life-exclusion.json | 2 +- ...equest-example-rec-07-risk-assessment.json | 2 +- ...example-rec-07-seven-of-past-ten-days.json | 2 +- ...t-example-rec-07-six-of-past-ten-days.json | 2 +- ...rec-07-sixtythree-of-past-ninety-days.json | 2 +- ...e-rec-07-sixtytwo-of-past-ninety-days.json | 2 +- ...example-rec-08-mme-greater-than-fifty.json | 2 +- ...st-example-rec-08-mme-less-than-fifty.json | 2 +- ...uest-example-rec-08-multiple-doseRate.json | 2 +- ...uest-example-rec-08-on-benzodiazepine.json | 2 +- .../request-example-rec-08-on-naloxone.json | 2 +- ...equest-example-rec-08-substance-abuse.json | 2 +- ...-08-order-sign-mme-greater-than-fifty.json | 2 +- ...rec-08-order-sign-mme-less-than-fifty.json | 2 +- ...e-rec-08-order-sign-multiple-doseRate.json | 2 +- ...e-rec-08-order-sign-on-benzodiazepine.json | 2 +- ...example-rec-08-order-sign-on-naloxone.json | 2 +- ...ple-rec-08-order-sign-substance-abuse.json | 2 +- ...equest-example-rec-09-in-criteria-met.json | 2 +- ...xample-rec-09-out-PDMP-review-90-days.json | 2 +- ...equest-example-rec-10-2-illicit-drugs.json | 2 +- ...mple-rec-10-end-of-life-med-exclusion.json | 2 +- ...mple-rec-10-illicit-drugs-POS-Cocaine.json | 2 +- ...llicit-drugs-POS-Opiate-non-synthetic.json | 2 +- ...ample-rec-10-illicit-drugs-POS-Opiate.json | 2 +- ...-example-rec-10-illicit-drugs-POS-PCP.json | 2 +- .../request-example-rec-10-no-screenings.json | 2 +- ...ple-rec-10-order-sign-2-illicit-drugs.json | 2 +- ...-order-sign-illicit-drugs-POS-Cocaine.json | 2 +- ...0-order-sign-illicit-drugs-POS-Opiate.json | 2 +- ...c-10-order-sign-illicit-drugs-POS-PCP.json | 2 +- ...ample-rec-10-order-sign-no-screenings.json | 2 +- ...e-rec-10-patient-view-2-illicit-drugs.json | 2 +- ...ample-rec-10-patient-view-POS-Cocaine.json | 2 +- ...t-example-rec-10-patient-view-POS-PCP.json | 2 +- ...atient-view-end-of-life-med-exclusion.json | 2 +- ...patient-view-illicit-drugs-POS-Opiate.json | 2 +- ...ple-rec-10-patient-view-illicit-drugs.json | 2 +- ...tient-view-no-screenings-by-reference.json | 2 +- ...ple-rec-10-patient-view-no-screenings.json | 2 +- ...mple-rec-11-benzo-trigger-with-opioid.json | 2 +- ...e-rec-11-benzo-trigger-without-opioid.json | 2 +- ...mple-rec-11-opioid-trigger-with-benzo.json | 2 +- ...e-rec-11-opioid-trigger-without-benzo.json | 2 +- ...atient-view-benzo-trigger-with-opioid.json | 2 +- ...ent-view-benzo-trigger-without-opioid.json | 2 +- ...atient-view-opioid-trigger-with-benzo.json | 2 +- ...ent-view-opioid-trigger-without-benzo.json | 2 +- ...e-rec-12-patient-view-in-criteria-met.json | 2 +- ...rec-12-patient-view-out-opioid-misuse.json | 2 +- ...e-example-rec-01-in-outpatient-opioid.json | 17 ++ 70 files changed, 163 insertions(+), 142 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 6f3a2913..d30dedd9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,4 @@ { - "liveServer.settings.port": 5501 + "liveServer.settings.port": 5501, + "thunder-client.saveToWorkspace": true } \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json index 03847a38..4161d07b 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "6bc883b2-b795-4dcb-b661-34884a31d472", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json index e9424c64..50bbeed8 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json @@ -1,92 +1,93 @@ { "hookInstance": "32a89854-a395-4f0e-8fa7-a660c7c9dd3d", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-01-false-due-to-inpatient-opioid", - "selections": [ "MedicationRequest/4d2b4402-022e-4f69-813e-ab16934286a6" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "4d2b4402-022e-4f69-813e-ab16934286a6", - "status": "active", - "intent": "order", - "category": { - "coding": [ + "selections": [ + "MedicationRequest/4d2b4402-022e-4f69-813e-ab16934286a6" + ], + "draftOrders":{ + "resourceType": "MedicationRequest", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "inpatient", - "display": "Inpatient" - } - ] - }, - "medicationCodeableConcept": { - "coding": [ + "url": "dateLastUpdated", + "valueDateTime": "2022-04-08" + }, { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "subject": { - "reference": "Patient/example-rec-01-false-due-to-inpatient-opioid" - }, - "encounter": { - "reference": "Encounter/example-rec-01-in-inpatient-opioid-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ + } + ], + "id": "4d2b4402-022e-4f69-813e-ab16934286a6", + "status": "active", + "intent": "order", + "category": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "film" - } + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "inpatient", + "display": "Inpatient" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" + ] + }, + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-01-false-due-to-inpatient-opioid" + }, + "encounter": { + "reference": "Encounter/example-rec-01-in-inpatient-opioid-context" + }, + "authoredOn": "2022-04-08", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" + "asNeededBoolean": false, + "doseQuantity": { + "value": 1.0, + "unit": "film" } } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-04-08", + "end": "2022-07-08" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } + } }, "prefetch": { "item1": { @@ -94,6 +95,7 @@ "status": "200 OK" }, "resource": { + "resourceType": "Patient", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", @@ -113,11 +115,12 @@ } ] } - ] "resourceType": "Patient", + ], "id": "example-rec-01-false-due-to-inpatient-opioid", "birthDate": "2002-04-08" } }, + "item2": null, "item3": null, "item4": null, "item5": null, diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json index 8926d10b..446b0917 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json @@ -1,6 +1,6 @@ { "hookInstance": "2c7a36a1-1e82-4608-87be-fc13f730ec49", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json index 954ec37b..14c196a5 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json @@ -1,6 +1,6 @@ { "hookInstance": "95e3c637-8c92-4d48-9e00-fa223b072506", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json index ff9754f1..6b2717c7 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json @@ -1,6 +1,6 @@ { "hookInstance": "53a6848f-0d7a-467a-9d6e-0c612a7ddb15", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json index 243d6fff..29b4b4a7 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json @@ -1,6 +1,6 @@ { "hookInstance": "a1836eaf-5987-4144-ac00-ca3b63c9a98e", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json index 5b3d8499..4b880191 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "9d02e4d7-2d5b-492f-8f77-d76edb47168b", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json index 61b7e559..74f7834f 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json @@ -1,6 +1,6 @@ { "hookInstance": "3a2ff17f-4d50-43a0-a409-20d7686b90ea", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json index 49d75595..786c6204 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "e9f6b9a0-366c-47af-b11b-f6d54797030a", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json index b391a35d..3e58248f 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json @@ -1,6 +1,6 @@ { "hookInstance": "1bf95787-c6eb-42c5-aacd-405803921024", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json index fff6b278..e00f65da 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "9d02e4d7-2d5b-492f-8f77-d76edb47168b", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json index 34b3a1c9..23dbc6c2 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json @@ -1,6 +1,6 @@ { "hookInstance": "3a2ff17f-4d50-43a0-a409-20d7686b90ea", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json index 746a0e6e..5c76c419 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "e9f6b9a0-366c-47af-b11b-f6d54797030a", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json index 73ae2236..7d66eabf 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json @@ -1,6 +1,6 @@ { "hookInstance": "1bf95787-c6eb-42c5-aacd-405803921024", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json index e3232df9..1257d8d3 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "4676f1ae-65c0-4935-9833-35a123e4767a", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json index 628d3f43..751d51a3 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "2d1c3d80-69c7-444e-bd89-ce36dda0647d", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json index 17fa559d..fc6482d9 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json @@ -1,6 +1,6 @@ { "hookInstance": "8ef84771-16e2-487c-8042-b097009b7d64", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json index 6b3cc463..6e0a5537 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json @@ -1,6 +1,6 @@ { "hookInstance": "c7107fd7-7be4-4837-9892-2f31b3224ffe", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json index 086325c1..bf4a899e 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json @@ -1,6 +1,6 @@ { "hookInstance": "10a3a703-86d7-4818-ae03-3f7e436bfd2a", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json index 1ea0a17e..c5b28f0f 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json @@ -1,6 +1,6 @@ { "hookInstance": "f4a85598-bc39-4c4f-a944-c876eb0e984e", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json index 858f6d78..ef260f53 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json @@ -1,6 +1,6 @@ { "hookInstance": "fa44ba28-6895-4060-b7d0-9e86715e0e08", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json index 208f6253..2a3afb38 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json @@ -1,6 +1,6 @@ { "hookInstance": "d23ec776-f58a-4902-b0a4-6ef3d9f59309", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json index 8f4206e0..7165f7e3 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json @@ -1,6 +1,6 @@ { "hookInstance": "d4318443-3981-4def-b852-dbb47ec1827b", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json index 3645fa68..00a6c65b 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json @@ -1,6 +1,6 @@ { "hookInstance": "e0493f61-6b3e-4eab-a6f9-45cd54ef5558", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json index 96e4473a..d9536664 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "229a709f-ee1c-4954-b7fd-72e6c46706dd", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json index 1c6974d0..d6a06ed8 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "7d7eab76-d435-458d-8432-de2d35ccac9e", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json index dadf1125..8d6306be 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json @@ -1,6 +1,6 @@ { "hookInstance": "229a709f-ee1c-4954-b7fd-72e6c46706dd", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json index e79476ab..1f94b245 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json @@ -1,6 +1,6 @@ { "hookInstance": "a3f05376-ec08-4102-a8ba-2c88c0af2f8f", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json index d04fc15d..7c8dbf04 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json @@ -1,6 +1,6 @@ { "hookInstance": "becfdcbd-0f8c-4f01-831c-a20ff695c5b3", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json index 81c1844c..85d102f0 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json @@ -1,6 +1,6 @@ { "hookInstance": "b32cab7a-75ea-4cd1-9514-20ebf473cac9", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json index 0dd346a9..cb1d11ca 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "229a709f-ee1c-4954-b7fd-72e6c46706dd", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json index 7fde63e1..a651c8f1 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "7d7eab76-d435-458d-8432-de2d35ccac9e", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json index 8f4d4e62..d6db39d4 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json @@ -1,6 +1,6 @@ { "hookInstance": "229a709f-ee1c-4954-b7fd-72e6c46706dd", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json index c5ebe879..38ef5de0 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json @@ -1,6 +1,6 @@ { "hookInstance": "a3f05376-ec08-4102-a8ba-2c88c0af2f8f", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json index f9c309e5..2ed50130 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json @@ -1,6 +1,6 @@ { "hookInstance": "becfdcbd-0f8c-4f01-831c-a20ff695c5b3", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json index d82061fc..da4d485b 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json @@ -1,6 +1,6 @@ { "hookInstance": "b32cab7a-75ea-4cd1-9514-20ebf473cac9", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { diff --git a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json index d0d0a5ae..84a0dde1 100755 --- a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json @@ -1,6 +1,6 @@ { "hookInstance": "6a7fbd0e-f48e-4936-a2b6-dfeefed8575d", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json index 03c66ec0..de4d2dff 100755 --- a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json @@ -1,6 +1,6 @@ { "hookInstance": "3efef233-82fa-461b-9436-c799313e9a90", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json index e578e7ab..2f7b430e 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json index 7c926490..4cec640f 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json @@ -1,6 +1,6 @@ { "hookInstance": "514b3e2f-2daf-4045-9c56-ad891fc6e233", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json index 7bc29527..d34001a6 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json index 2e56a71f..a77be56e 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json index a7e56724..f96630d3 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json index b6c7ec0b..2676cdbd 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json index a1c4dbcd..66d7163d 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json @@ -1,6 +1,6 @@ { "hookInstance": "a172a2ce-38e7-4a21-a411-522cf481d5d1", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json index 78569eff..3037cc93 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json index 3cd72e4e..e04f2bf8 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json index 02170d58..d6408bc9 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json index 3190d807..8ffed4bb 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json index 50cdf423..c3534a33 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json @@ -1,6 +1,6 @@ { "hookInstance": "a172a2ce-38e7-4a21-a411-522cf481d5d1", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json index 3ccce8a8..668b4a71 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json index ab446230..ff9e3d96 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json index 4d4f65c3..63feccef 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json index 921cc2b1..ff0449b9 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json @@ -1,6 +1,6 @@ { "hookInstance": "514b3e2f-2daf-4045-9c56-ad891fc6e233", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json index f7c7b02f..c03be7f4 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json index 2bc7004e..de4221c6 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json index 82400229..8a8588b4 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json @@ -1,6 +1,6 @@ { "hookInstance": "a172a2ce-38e7-4a21-a411-522cf481d5d1", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json index 29c5f849..24279d97 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json @@ -1,6 +1,6 @@ { "hookInstance": "a172a2ce-38e7-4a21-a411-522cf481d5d1", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json index 8f8aee50..910ee393 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "b266185d-c26a-40dd-a024-70b5b6222170", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json index f1188b70..bdfbd09c 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "259cf767-4b52-4e14-a741-04da147a430f", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json index 93f278dc..99ef0c23 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json @@ -1,6 +1,6 @@ { "hookInstance": "3078316d-e23f-4094-aec6-a6094ad29204", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json index e418fe76..5215d3f0 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json @@ -1,6 +1,6 @@ { "hookInstance": "49192bd1-f7f3-4bdd-bc5f-997dd59a950a", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json index 87ee6e7c..f50ed94b 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "b266185d-c26a-40dd-a024-70b5b6222170", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json index 6856a34b..46722635 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "259cf767-4b52-4e14-a741-04da147a430f", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json index 7062ffd2..d6231950 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json @@ -1,6 +1,6 @@ { "hookInstance": "3078316d-e23f-4094-aec6-a6094ad29204", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json index f76e6af5..d3e7ebe7 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json @@ -1,6 +1,6 @@ { "hookInstance": "49192bd1-f7f3-4bdd-bc5f-997dd59a950a", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json index 5599d46a..8926b2de 100644 --- a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json @@ -1,6 +1,6 @@ { "hookInstance": "17ff4874-b68a-490c-abaa-b62b1a91b1bd", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { diff --git a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json index 75bb69a1..8728c483 100644 --- a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json +++ b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json @@ -1,6 +1,6 @@ { "hookInstance": "3d75f421-9eeb-46d0-aa18-9aa9c720833a", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", "context": { diff --git a/input/pagecontent/responses/OpioidCDSREC01/response-example-rec-01-in-outpatient-opioid.json b/input/pagecontent/responses/OpioidCDSREC01/response-example-rec-01-in-outpatient-opioid.json index e69de29b..5b08da28 100644 --- a/input/pagecontent/responses/OpioidCDSREC01/response-example-rec-01-in-outpatient-opioid.json +++ b/input/pagecontent/responses/OpioidCDSREC01/response-example-rec-01-in-outpatient-opioid.json @@ -0,0 +1,17 @@ +{ + "cards": [ + { + "summary": "Recommend use of nonpharmacologic therapy and nonopioid pharmacologic therapy as alternative", + "indicator": "warning", + "detail": "Medication requests(s): ", + "source": {}, + "selectionBehavior": "any", + "links": [ + { + "label": "CDC guideline for prescribing opioids for chronic pain", + "url": "https://www.cdc.gov/mmwr/volumes/65/rr/rr6501e1.htm?CDC_AA_refVal=https%3A%2F%2Fwww.cdc.gov%2Fmmwr%2Fvolumes%2F65%2Frr%2Frr6501e1er.htm" + } + ] + } + ] + } \ No newline at end of file From 04ce35cea66f74ba368755fea2559c4cbe852516 Mon Sep 17 00:00:00 2001 From: c-schuler Date: Wed, 3 Aug 2022 22:00:16 -0600 Subject: [PATCH 02/24] Added thunder client test suite ... fixed test narratives, requests, and data --- .../bundle-example-rec-06-criteria-valid.json | 2 +- input/pagecontent/recommendation-02.xml | 4 ++-- input/pagecontent/recommendation-06.xml | 6 +++--- input/pagecontent/recommendation-09.xml | 6 +++--- ...ample-rec-02-out-careplan-not-revisited.json | 8 ++------ ...le-rec-03-out-counseling-within-90-days.json | 2 +- .../request-example-rec-06-in-criteria-met.json | 2 +- ...se-example-rec-02-in-careplan-revisited.json | 17 +++++++++++++++++ ...-rec-03-in-no-counseling-within-90-days.json | 17 +++++++++++++++++ opioid-cds-r4-thunder-client-suite.json | 1 + 10 files changed, 48 insertions(+), 17 deletions(-) create mode 100644 opioid-cds-r4-thunder-client-suite.json diff --git a/input/examples/bundle-example-rec-06-criteria-valid.json b/input/examples/bundle-example-rec-06-criteria-valid.json index 1bd70947..f706c2e9 100644 --- a/input/examples/bundle-example-rec-06-criteria-valid.json +++ b/input/examples/bundle-example-rec-06-criteria-valid.json @@ -86,7 +86,7 @@ }, "dispenseRequest": { "expectedSupplyDuration": { - "value": 29, + "value": 5.0, "unit": "d" } } diff --git a/input/pagecontent/recommendation-02.xml b/input/pagecontent/recommendation-02.xml index 3c914086..873370b8 100644 --- a/input/pagecontent/recommendation-02.xml +++ b/input/pagecontent/recommendation-02.xml @@ -101,13 +101,13 @@ - Patient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" as well as an Opioid Treatment Care Plan updated 89 days prior to today. Patients "Dosage Instructions" are 1 Film per day for 30 days. This patient will not trigger any cards and there should not be a recommendation message. This will result in a summary message: "Recommend creation, review or update of opioid treatment plan." CarePlan.category.code needs to be Common."Opioid Treatment Plan…" + Patient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" as well as a Care Plan most recently updated 120 days prior to today. Patients "Dosage Instructions" are 1 Film per day for 30 days. Due to the most recent review of the Care Plan having been conducted more than 89 days prior to today this will result in a summary message: "Recommend creation, review or update of opioid treatment plan. CarePlan.category.code needs to be Common."Opioid Treatment Plan…" Test Bundle example-rec-02-true-make-recommendations Request JSON example-rec-02-in-careplan-revisited Response JSON example-rec-02-in-careplan-revisited - Patient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" as well as a Care Plan most recently updated 120 days prior to today. Patients "Dosage Instructions" are 1 Film per day for 30 days. Due to the most recent review of the Care Plan having been conducted more than 89 days prior to today this will result in a summary message: "Recommend creation, review or update of opioid treatment plan. CarePlan.category.code needs to be Common."Opioid Treatment Plan…" + Patient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" as well as an Opioid Treatment Care Plan updated 89 days prior to today. Patients "Dosage Instructions" are 1 Film per day for 30 days. This patient will not trigger any cards and there should not be a recommendation message. Test Bundle example-rec-02-false-due-to-careplan-within-90-days Request JSON example-rec-02-out-careplan-not-revisited Response JSON example-rec-02-out-careplan-not-revisited diff --git a/input/pagecontent/recommendation-06.xml b/input/pagecontent/recommendation-06.xml index 1a80a29f..e5f3ffdf 100644 --- a/input/pagecontent/recommendation-06.xml +++ b/input/pagecontent/recommendation-06.xml @@ -1,4 +1,4 @@ -
+

Recommendation #6:

Long-term opioid use often begins with treatment of acute pain. When opioids are used for acute pain, clinicians should prescribe the lowest effective dose of immediate-release opioids and should prescribe no greater quantity than needed @@ -91,13 +91,13 @@ - Patient is 18 or older. Patient has been prescribed oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet (RXNorm 1049502). Patients "Dosage Instructions" are 1 Tablet per day for 29 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned. + Patient is 18 or older. Patient has been prescribed oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet (RXNorm 1049502). Patients "Dosage Instructions" are 1 Tablet per day for 5 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned. Test Bundle Request JSON Response JSON - Patient is 18 or older. Patient has been prescribed oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet (RXNorm 1049502).Patients "Dosage Instructions" are 1 Tablet per day for 27 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned. + Patient is 18 or older. Patient has been prescribed oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet (RXNorm 1049502).Patients "Dosage Instructions" are 1 Tablet per day for 27 days. The patient will be included and the following message will be triggered - "Recommend limit therapy to ≤ 3 days to maximum of ≤ 7 days and to limit to immediate release opioids". Test Bundle Request JSON Response JSON diff --git a/input/pagecontent/recommendation-09.xml b/input/pagecontent/recommendation-09.xml index 6740b95a..700d52a7 100644 --- a/input/pagecontent/recommendation-09.xml +++ b/input/pagecontent/recommendation-09.xml @@ -1,4 +1,4 @@ -

+

Recommendation #9:

Long-term opioid use often begins with treatment of acute pain. When opioids are used for acute pain, clinicians should prescribe the lowest effective dose of immediate-release opioids and should prescribe no greater quantity than needed @@ -92,12 +92,12 @@ - + Patient is 18 or older. Patient has been prescribed Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) Patients "Dosage Instructions" are 1 Film per day for 30 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned. Test Bundle diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json index 14c196a5..290090a5 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json @@ -8,8 +8,7 @@ "selections": [ "MedicationRequest/a6590d30-c320-4016-861f-678f9f87bca5" ], - "draftOrders": [ - { + "draftOrders": { "resourceType": "MedicationRequest", "extension": [ { @@ -89,7 +88,6 @@ } } } - ] }, "prefetch": { "item1": { @@ -157,9 +155,7 @@ "subject": { "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" }, - "created": { - "extension": "2021-12-09" - }, + "created": "2021-12-09", "author": { "reference": "Practitioner/example" } diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json index 29b4b4a7..fd3107f1 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json @@ -161,7 +161,7 @@ "subject": { "reference": "Patient/example-rec-03-false-due-to-discussion-within-90-days" }, - "_performedPeriod": { + "performedPeriod": { "start": "2022-01-09", "end": "2022-01-10" } diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json index fc6482d9..16cb588e 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json @@ -81,7 +81,7 @@ }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { - "value": 29.0, + "value": 5.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" diff --git a/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-in-careplan-revisited.json b/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-in-careplan-revisited.json index e69de29b..3689b099 100644 --- a/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-in-careplan-revisited.json +++ b/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-in-careplan-revisited.json @@ -0,0 +1,17 @@ +{ + "cards": [ + { + "summary": "Recommend creation, review or update of opioid treatment plan", + "indicator": "warning", + "detail": "Medication requests(s): ", + "source": {}, + "selectionBehavior": "any", + "links": [ + { + "label": "CDC guideline for prescribing opioids for chronic pain", + "url": "https://www.cdc.gov/mmwr/volumes/65/rr/rr6501e1.htm?CDC_AA_refVal=https%3A%2F%2Fwww.cdc.gov%2Fmmwr%2Fvolumes%2F65%2Frr%2Frr6501e1er.htm" + } + ] + } + ] + } \ No newline at end of file diff --git a/input/pagecontent/responses/OpioidCDSREC03/response-example-rec-03-in-no-counseling-within-90-days.json b/input/pagecontent/responses/OpioidCDSREC03/response-example-rec-03-in-no-counseling-within-90-days.json index e69de29b..a57adb08 100644 --- a/input/pagecontent/responses/OpioidCDSREC03/response-example-rec-03-in-no-counseling-within-90-days.json +++ b/input/pagecontent/responses/OpioidCDSREC03/response-example-rec-03-in-no-counseling-within-90-days.json @@ -0,0 +1,17 @@ +{ + "cards": [ + { + "summary": "Recommend counseling regarding potential opioid harms and risks", + "indicator": "warning", + "detail": "Medication requests(s): ", + "source": {}, + "selectionBehavior": "any", + "links": [ + { + "label": "CDC guideline for prescribing opioids for chronic pain", + "url": "https://www.cdc.gov/mmwr/volumes/65/rr/rr6501e1.htm?CDC_AA_refVal=https%3A%2F%2Fwww.cdc.gov%2Fmmwr%2Fvolumes%2F65%2Frr%2Frr6501e1er.htm" + } + ] + } + ] + } \ No newline at end of file diff --git a/opioid-cds-r4-thunder-client-suite.json b/opioid-cds-r4-thunder-client-suite.json new file mode 100644 index 00000000..6a468991 --- /dev/null +++ b/opioid-cds-r4-thunder-client-suite.json @@ -0,0 +1 @@ +{"client":"Thunder Client","collectionName":"OpioidCDSR4_Test_Suite","dateExported":"2022-08-04T00:59:26.356Z","version":"1.1","folders":[{"_id":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"REC_01","containerId":"","created":"2022-08-02T04:05:56.867Z","sortNum":10000},{"_id":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"REC_02","containerId":"","created":"2022-08-02T04:06:07.145Z","sortNum":20000},{"_id":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"REC_03","containerId":"","created":"2022-08-02T04:06:15.478Z","sortNum":30000},{"_id":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"REC_04_ORDER_SIGN","containerId":"","created":"2022-08-02T04:06:23.352Z","sortNum":32500},{"_id":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"REC_04_PATIENT_VIEW","containerId":"","created":"2022-08-02T04:09:55.751Z","sortNum":35000},{"_id":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"REC_05","containerId":"","created":"2022-08-02T04:06:31.938Z","sortNum":50000},{"_id":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"REC_06","containerId":"","created":"2022-08-02T04:06:38.479Z","sortNum":60000},{"_id":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REC_07","containerId":"","created":"2022-08-02T04:06:46.763Z","sortNum":70000},{"_id":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REC_08","containerId":"","created":"2022-08-02T04:06:54.271Z","sortNum":80000},{"_id":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"REC_09","containerId":"","created":"2022-08-02T04:07:02.147Z","sortNum":90000},{"_id":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"REC_10_ORDER_SIGN","containerId":"","created":"2022-08-02T04:07:15.371Z","sortNum":92500},{"_id":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"REC_10_PATIENT_VIEW","containerId":"","created":"2022-08-02T04:11:32.452Z","sortNum":95000},{"_id":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"REC_11_ORDER_SELECT","containerId":"","created":"2022-08-02T04:07:21.915Z","sortNum":110000},{"_id":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"REC_11_PATIENT_VIEW","containerId":"","created":"2022-08-02T04:12:17.635Z","sortNum":115000},{"_id":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"REC_12","containerId":"","created":"2022-08-02T04:07:28.888Z","sortNum":120000}],"requests":[{"_id":"681ce9e4-b97f-42fc-8876-015e172cf1c6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:14:13.230Z","modified":"2022-08-02T04:16:33.910Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-01/opioidcds-01-bundle.json"},"tests":[]},{"_id":"b28bb725-2091-4861-b025-4c5a7964fe94","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:16:46.495Z","modified":"2022-08-02T04:17:30.574Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-02/opioidcds-02-bundle.json"},"tests":[]},{"_id":"ef979e42-1f6e-45c3-8aa8-80f13f64ab9e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:18:17.227Z","modified":"2022-08-02T04:18:41.304Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-03/opioidcds-03-bundle.json"},"tests":[]},{"_id":"1571226b-fb02-4c94-861a-6cedf79e9881","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:19:01.193Z","modified":"2022-08-02T04:19:37.888Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-04/opioidcds-04-bundle.json"},"tests":[]},{"_id":"8f144cc8-c819-4fc4-8854-6b22a9aedbaa","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:19:53.127Z","modified":"2022-08-02T04:20:17.276Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-04-patient-view/opioidcds-04-patient-view-bundle.json"},"tests":[]},{"_id":"4a43d2cd-7f8f-460f-8a39-e3a6b91ba75e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:21:30.043Z","modified":"2022-08-02T04:21:57.136Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-05/opioidcds-05-bundle.json"},"tests":[]},{"_id":"379b79dc-9cb4-4804-be7a-4ca21fbb8198","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:22:11.832Z","modified":"2022-08-02T04:22:40.822Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-06/opioidcds-06-bundle.json"},"tests":[]},{"_id":"7c212bd1-8d12-451a-9711-694c1788d43b","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:22:50.799Z","modified":"2022-08-02T04:23:17.509Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-07/opioidcds-07-bundle.json"},"tests":[]},{"_id":"af8e5687-29ee-428e-ace6-3a0c44aa932c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:23:58.548Z","modified":"2022-08-02T04:25:54.830Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-08-order-sign/opioidcds-08-order-sign-bundle.json"},"tests":[]},{"_id":"6fa38d2a-c8ac-4b0c-9205-b11f6702fe32","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:26:57.281Z","modified":"2022-08-02T04:27:25.215Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-09/opioidcds-09-bundle.json"},"tests":[]},{"_id":"e5cc4ef1-c668-4d21-8c7d-3ae25894b859","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:27:29.899Z","modified":"2022-08-02T04:28:18.299Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-10-order-sign/opioidcds-10-order-sign-bundle.json"},"tests":[]},{"_id":"8583fe8c-390f-49b7-b970-129c2d07d6af","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:28:52.181Z","modified":"2022-08-02T04:29:20.870Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-10-patient-view/opioidcds-10-patient-view-bundle.json"},"tests":[]},{"_id":"e436a84e-6c74-46c0-8703-5cfab911a882","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:29:28.867Z","modified":"2022-08-02T04:30:26.575Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-11/opioidcds-11-bundle.json"},"tests":[]},{"_id":"f2b5203a-f641-444c-802a-4ed65ef3d142","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:30:31.064Z","modified":"2022-08-02T04:30:56.504Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-11-patient-view/opioidcds-11-patient-view-bundle.json"},"tests":[]},{"_id":"10c3f86a-936e-4a4b-9f02-c4275a489bff","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:31:05.995Z","modified":"2022-08-02T04:31:29.863Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-12-patient-view/opioidcds-12-patient-view-bundle.json"},"tests":[]},{"_id":"69ac6534-93c6-46c5-be1a-e3f0a995e37e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":17500,"created":"2022-08-02T05:01:06.069Z","modified":"2022-08-02T05:02:12.888Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-01-true-make-recommendations.json"},"tests":[]},{"_id":"10507c88-4a2d-45c8-b404-cdacef33e0b8","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T03:04:25.577Z","modified":"2022-08-03T03:05:25.481Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-02-true-make-recommendations.json"},"tests":[]},{"_id":"c7377682-7882-47fa-b71e-7336c45370ae","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T04:53:21.697Z","modified":"2022-08-03T05:00:44.963Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-03-true-make-recommendations.json"},"tests":[]},{"_id":"e506562c-6ce8-4d78-ad21-fc27e4e9ef8e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"LOAD_PATIENT_DATA_RECOMMENDATION_LAO","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:05:55.368Z","modified":"2022-08-03T05:07:43.329Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-long-acting-opioid.xml"},"tests":[]},{"_id":"ce0063fb-ffe1-465b-b329-a7f1ff889631","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"LOAD_PATIENT_DATA_RECOMMENDATION_LAO","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:08:40.764Z","modified":"2022-08-03T05:08:43.315Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-long-acting-opioid.xml"},"tests":[]},{"_id":"9e8ca991-d459-4273-983d-5ec9749a093c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:12:12.749Z","modified":"2022-08-03T17:04:32.863Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml"},"tests":[]},{"_id":"1a3e3a67-55fa-4681-b520-f650644c5ec0","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:12:25.447Z","modified":"2022-08-03T19:13:07.833Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json"},"tests":[]},{"_id":"6351f1e4-a3f8-42a0-ad19-0e0d63c4bb58","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_RECOMMENDATION_7OF10","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:12:51.481Z","modified":"2022-08-03T19:20:51.956Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml"},"tests":[]},{"_id":"131da82c-d9f7-4620-9246-6dbdf215beb3","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_PATIENT_DATA_RECOMMENDATION_MMEGT50","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:13:01.348Z","modified":"2022-08-03T19:26:06.706Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml"},"tests":[]},{"_id":"8b8bf6f1-8427-4969-bc39-f92c38ddba1e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:13:18.120Z","modified":"2022-08-03T21:49:01.536Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-09-true-return-recommendations.json"},"tests":[]},{"_id":"195e41ff-2e54-4ef3-a720-b0e31c84f04f","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:13:30.915Z","modified":"2022-08-03T22:03:07.731Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-10-no-screenings.xml"},"tests":[]},{"_id":"c5d367b1-c13b-412f-85d3-4804ba263f5f","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:13:46.233Z","modified":"2022-08-03T22:11:04.931Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-10-no-screenings.xml"},"tests":[]},{"_id":"95ebfeb2-d57c-4ce4-b0af-555799a46d34","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"LOAD_PATIENT_DATA_RECOMMENDATION_BWO","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:13:57.632Z","modified":"2022-08-03T22:12:53.358Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml"},"tests":[]},{"_id":"bad8ee28-f0d9-4a3b-9f8a-f6372ab36096","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:14:27.417Z","modified":"2022-08-03T22:25:41.978Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-12-criteria-valid.json"},"tests":[]},{"_id":"6e4babed-067f-4168-bbdd-da76e1797884","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"LOAD_PATIENT_DATA_RECOMMENDATION_BWO","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T22:16:58.741Z","modified":"2022-08-03T22:17:11.262Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml"},"tests":[]},{"_id":"a91cbd63-d48e-4a05-bbb4-41099aac0305","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-01","method":"POST","sortNum":21250,"created":"2022-08-02T05:03:21.841Z","modified":"2022-08-03T05:04:15.604Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json"},"tests":[]},{"_id":"588daa35-d150-46d8-af4a-ad91e905d392","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"REQUEST_RETURN_RECOMMENDATION_LAO","url":"{{cdsHooksServer}}/opioidcds-04-patient-view","method":"POST","sortNum":22500,"created":"2022-08-03T23:18:13.712Z","modified":"2022-08-03T23:19:10.517Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json"},"tests":[]},{"_id":"f0d74844-5ee9-4ce0-a88b-3b1e623adb65","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_RECOMMENDATION_7OF10","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":22500,"created":"2022-08-03T23:34:36.672Z","modified":"2022-08-03T23:36:28.585Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json"},"tests":[]},{"_id":"3a6fbfc8-3bef-4227-a9fb-fc6473d51176","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REQUEST_RETURN_RECOMMENDATION_MMEGT50","url":"{{cdsHooksServer}}/opioidcds-08","method":"POST","sortNum":22500,"created":"2022-08-03T23:40:44.889Z","modified":"2022-08-03T23:42:24.434Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json"},"tests":[]},{"_id":"7af26f82-8872-4059-8542-6243bfc1b17d","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"REQUEST_RETURN_RECOMMENDATION_BWO","url":"{{cdsHooksServer}}/opioidcds-11","method":"POST","sortNum":22500,"created":"2022-08-03T23:59:04.883Z","modified":"2022-08-04T00:00:44.416Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json"},"tests":[]},{"_id":"3b08a8bc-6fae-4187-b295-2630353c9c45","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":25000,"created":"2022-08-02T05:01:08.785Z","modified":"2022-08-02T05:01:08.785Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json"},"tests":[]},{"_id":"482d98ed-0ae8-4596-bd5a-c962ff48ecbb","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_NP","url":"{{fhirServer}}","method":"POST","sortNum":25000,"created":"2022-08-03T16:51:34.611Z","modified":"2022-08-03T16:51:55.362Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-new-patient.xml"},"tests":[]},{"_id":"82509a94-3bc4-4c1b-80b7-8e746a41fd77","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_RECOMMENDATION_63OF90","url":"{{fhirServer}}","method":"POST","sortNum":25000,"created":"2022-08-03T19:21:30.522Z","modified":"2022-08-03T19:22:00.829Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml"},"tests":[]},{"_id":"13547db4-1938-4a68-9a7d-117b3df534a7","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_PATIENT_DATA_RECOMMENDATION_ONBENZO","url":"{{fhirServer}}","method":"POST","sortNum":25000,"created":"2022-08-03T19:29:53.569Z","modified":"2022-08-03T19:30:19.652Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-08-on-benzodiazepine.xml"},"tests":[]},{"_id":"6410336a-ca19-4c44-ac30-1a47d654d8f5","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"LOAD_PATIENT_DATA_RECOMMENDATION_OWB","url":"{{fhirServer}}","method":"POST","sortNum":25000,"created":"2022-08-03T22:13:34.809Z","modified":"2022-08-03T22:14:18.563Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml"},"tests":[]},{"_id":"d5db9ce7-3fa6-4ea9-a962-975ee50dbe85","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"REQUEST_RETURN_RECOMMENDATION_LAO","url":"{{cdsHooksServer}}/opioidcds-04","method":"POST","sortNum":25000,"created":"2022-08-03T23:11:53.162Z","modified":"2022-08-03T23:15:45.943Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json"},"tests":[]},{"_id":"3edfdd30-1762-453f-8902-7d1e09123c5f","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-05","method":"POST","sortNum":25000,"created":"2022-08-03T23:28:11.623Z","modified":"2022-08-03T23:28:53.967Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json"},"tests":[]},{"_id":"0eb03762-1196-413b-8ec7-e62b2e365f85","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-06","method":"POST","sortNum":25000,"created":"2022-08-03T23:31:10.921Z","modified":"2022-08-03T23:32:24.144Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json"},"tests":[]},{"_id":"2c1402a2-c5ca-4503-890c-017f6b592740","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-09","method":"POST","sortNum":25000,"created":"2022-08-03T23:49:52.254Z","modified":"2022-08-03T23:50:36.157Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json"},"tests":[]},{"_id":"e354e9ed-74d5-40ae-abcf-3761dc0ece27","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-10","method":"POST","sortNum":25000,"created":"2022-08-03T23:53:05.522Z","modified":"2022-08-03T23:54:21.145Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json"},"tests":[]},{"_id":"d3a456f8-076b-4b7a-9dd7-7b85973bc399","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-10-patient-view","method":"POST","sortNum":25000,"created":"2022-08-03T23:57:03.167Z","modified":"2022-08-03T23:57:57.508Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json"},"tests":[]},{"_id":"d01ca7b4-4c1b-40ad-b83c-cf115973400b","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"REQUEST_RETURN_RECOMMENDATION_BWO","url":"{{cdsHooksServer}}/opioidcds-11-patient-view","method":"POST","sortNum":25000,"created":"2022-08-04T00:06:07.245Z","modified":"2022-08-04T00:07:04.466Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json"},"tests":[]},{"_id":"f8ca87f7-6393-4b3c-9dae-789f5ebb3e2e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-12","method":"POST","sortNum":25000,"created":"2022-08-04T00:09:59.914Z","modified":"2022-08-04T00:10:53.514Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json"},"tests":[]},{"_id":"50be58b0-131b-49e3-a2f5-cc83bd3cb1a4","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REQUEST_RETURN_RECOMMENDATION_ONBENZO","url":"{{cdsHooksServer}}/opioidcds-08","method":"POST","sortNum":26250,"created":"2022-08-03T23:42:35.099Z","modified":"2022-08-03T23:43:07.781Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json"},"tests":[]},{"_id":"77682221-4ebc-4a85-bc24-f285a57c7a7c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_PATIENT_DATA_RECOMMENDATION_SA","url":"{{fhirServer}}","method":"POST","sortNum":27500,"created":"2022-08-03T19:32:43.520Z","modified":"2022-08-03T19:33:17.489Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-08-substance-abuse.xml"},"tests":[]},{"_id":"a2e99670-bc39-4940-8187-fe949e195e63","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"REQUEST_RETURN_NO_RECOMMENDATION_NP","url":"{{cdsHooksServer}}/opioidcds-04-patient-view","method":"POST","sortNum":27500,"created":"2022-08-03T23:19:35.962Z","modified":"2022-08-03T23:20:02.020Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json"},"tests":[]},{"_id":"a1669ec3-9753-4aa8-85fe-ad018fa7d62e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_RECOMMENDATION_63OF90","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":27500,"created":"2022-08-03T23:35:30.004Z","modified":"2022-08-03T23:36:48.905Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json"},"tests":[]},{"_id":"8b7b9946-c1a0-41db-834c-1b9d9d57f2d1","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"REQUEST_RETURN_RECOMMENDATION_OWB","url":"{{cdsHooksServer}}/opioidcds-11","method":"POST","sortNum":27500,"created":"2022-08-04T00:00:49.182Z","modified":"2022-08-04T00:05:39.949Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json"},"tests":[]},{"_id":"bb7d131e-abb8-4ed7-bac3-7f3dad165b6b","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REQUEST_RETURN_RECOMMENDATION_SA","url":"{{cdsHooksServer}}/opioidcds-08","method":"POST","sortNum":28750,"created":"2022-08-03T23:43:15.586Z","modified":"2022-08-03T23:43:40.677Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json"},"tests":[]},{"_id":"f218b57d-3f22-4a41-8547-620bbd7aa189","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-02","method":"POST","sortNum":30000,"created":"2022-08-03T03:05:35.671Z","modified":"2022-08-03T05:03:52.539Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json"},"tests":[]},{"_id":"0b84a7bf-d4f9-45ab-a3e4-478a955b86d0","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-03","method":"POST","sortNum":30000,"created":"2022-08-03T04:53:40.141Z","modified":"2022-08-03T05:03:28.554Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json"},"tests":[]},{"_id":"dac7a040-b952-49a8-bcd1-b25e2e0089f6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_NP","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:06:01.964Z","modified":"2022-08-03T05:08:16.357Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-new-patient.xml"},"tests":[]},{"_id":"cc5957bc-77d4-4911-99d8-d18f75184123","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_NLAO","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:08:47.397Z","modified":"2022-08-03T05:11:55.746Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml"},"tests":[]},{"_id":"463eb95c-5e2d-43e3-bda9-836d7cc06e65","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:12:16.016Z","modified":"2022-08-03T17:04:52.518Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-05-mme-less-than-fifty.xml"},"tests":[]},{"_id":"47f9a3cc-ccf6-4876-ba44-178e8f987884","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:12:31.133Z","modified":"2022-08-03T19:13:57.101Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-06-criteria-valid.json"},"tests":[]},{"_id":"73d7d3f9-24d3-487e-8b5d-bed37bdd3de6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_EOLE","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:12:53.983Z","modified":"2022-08-03T19:18:10.762Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-end-of-life-exclusion.xml"},"tests":[]},{"_id":"8352e380-928d-40e8-a64e-0ca09b69dddc","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_MMELT50","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:13:04.981Z","modified":"2022-08-03T19:29:08.292Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-08-mme-less-than-fifty.xml"},"tests":[]},{"_id":"de0a0c7a-890e-4b89-86b4-d500ee187e08","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:13:20.995Z","modified":"2022-08-03T21:48:38.235Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json"},"tests":[]},{"_id":"64777ac6-3932-4ebe-bd55-7ee50dd34ed6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:13:48.700Z","modified":"2022-08-03T22:11:24.012Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml"},"tests":[]},{"_id":"4ee9f151-77a6-4f31-9f15-19b90ef035f9","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_BWOO","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:13:59.850Z","modified":"2022-08-03T22:13:30.527Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml"},"tests":[]},{"_id":"a4097198-705f-47d0-907a-fa83d270d6f9","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:14:29.800Z","modified":"2022-08-03T22:26:16.772Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-12-criteria-invalid.json"},"tests":[]},{"_id":"8d431179-b014-4728-bca1-5ca120270f50","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T22:06:25.371Z","modified":"2022-08-03T22:07:11.516Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml"},"tests":[]},{"_id":"23df7ad7-5992-4884-a03e-9aff90b67156","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"LOAD_PATIENT_DATA_RECOMMENDATION_OWB","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T22:17:01.291Z","modified":"2022-08-03T22:17:13.277Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml"},"tests":[]},{"_id":"881d563a-b534-4835-a1b2-e8cb442c401c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"REQUEST_RETURN_NO_RECOMMENDATION_NP","url":"{{cdsHooksServer}}/opioidcds-04","method":"POST","sortNum":35000,"created":"2022-08-03T23:12:29.459Z","modified":"2022-08-03T23:16:19.597Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json"},"tests":[]},{"_id":"9e4ebfde-7dd1-4966-b936-233ca1757d8b","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"REQUEST_RETURN_NO_RECOMMENDATION_NLAO","url":"{{cdsHooksServer}}/opioidcds-04-patient-view","method":"POST","sortNum":35000,"created":"2022-08-03T23:20:10.630Z","modified":"2022-08-03T23:20:38.484Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json"},"tests":[]},{"_id":"046d7be4-158e-4bc6-a9f1-b863d4f0d386","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_NO_RECOMMENDATION_EOLE","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":35000,"created":"2022-08-03T23:34:42.537Z","modified":"2022-08-03T23:37:33.424Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json"},"tests":[]},{"_id":"ae380588-b951-4814-a246-9aa1bc98336c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REQUEST_RETURN_NO_RECOMMENDATION_MMELT50","url":"{{cdsHooksServer}}/opioidcds-08","method":"POST","sortNum":35000,"created":"2022-08-03T23:43:48.837Z","modified":"2022-08-03T23:44:27.314Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json"},"tests":[]},{"_id":"ac7a986d-eaf8-4998-8a8c-fe36421a83a6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"REQUEST_RETURN_NO_RECOMMENDATION_BWOO","url":"{{cdsHooksServer}}/opioidcds-11","method":"POST","sortNum":35000,"created":"2022-08-04T00:01:31.232Z","modified":"2022-08-04T00:05:01.728Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json"},"tests":[]},{"_id":"14ab320b-6cca-4705-88ba-18758482f08f","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"REQUEST_RETURN_RECOMMENDATION_OWB","url":"{{cdsHooksServer}}/opioidcds-11-patient-view","method":"POST","sortNum":35000,"created":"2022-08-04T00:07:10.227Z","modified":"2022-08-04T00:07:50.040Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json"},"tests":[]},{"_id":"914cdae9-dc6b-4132-beeb-a9650cbb716a","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-01","method":"POST","sortNum":40000,"created":"2022-08-02T05:04:55.786Z","modified":"2022-08-03T05:04:05.591Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json"},"tests":[]},{"_id":"6ddd9979-e841-4dc8-a38d-9edde877fd16","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T03:07:04.902Z","modified":"2022-08-03T03:08:42.883Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json"},"tests":[]},{"_id":"3acec50e-7de0-4ea6-9622-a8109af77695","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T04:53:48.243Z","modified":"2022-08-03T05:01:03.423Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json"},"tests":[]},{"_id":"6454a378-2c48-44d5-bf31-85284380cf6d","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_NLAO","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T16:44:47.704Z","modified":"2022-08-03T16:46:01.769Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml"},"tests":[]},{"_id":"410536e8-f1ad-467e-b667-4bac2fc46741","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWAP","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T16:51:58.377Z","modified":"2022-08-03T16:52:02.229Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml"},"tests":[]},{"_id":"483d84ec-0760-4050-9589-f47c34d39282","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_RA","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T19:18:25.785Z","modified":"2022-08-03T19:18:51.684Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-risk-assessment.xml"},"tests":[]},{"_id":"ac252245-3799-465d-895e-9d46f108ccc3","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_ONNALOX","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T19:31:47.840Z","modified":"2022-08-03T19:32:19.839Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-08-on-naloxone.xml"},"tests":[]},{"_id":"c47d88eb-8874-4d31-b28f-75d7e09e8ebd","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWOB","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T22:14:27.041Z","modified":"2022-08-03T22:14:52.291Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml"},"tests":[]},{"_id":"e19a771e-5f77-4032-b791-ac744da6438c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_BWOO","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T22:17:03.541Z","modified":"2022-08-03T22:17:16.043Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml"},"tests":[]},{"_id":"80fc4e3e-59d9-4462-9766-3ea1eb603146","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-05","method":"POST","sortNum":40000,"created":"2022-08-03T23:28:14.955Z","modified":"2022-08-03T23:29:13.121Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json"},"tests":[]},{"_id":"ee18b094-fa14-4572-8a3e-8d4ecd0fddd0","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-06","method":"POST","sortNum":40000,"created":"2022-08-03T23:31:17.938Z","modified":"2022-08-03T23:32:43.290Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json"},"tests":[]},{"_id":"02217edb-aa8d-4fc6-8ce4-39ed4c7b6808","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-09","method":"POST","sortNum":40000,"created":"2022-08-03T23:49:55.770Z","modified":"2022-08-03T23:51:05.766Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json"},"tests":[]},{"_id":"73ecbb27-ca46-462c-986e-3d769613b7d0","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-10","method":"POST","sortNum":40000,"created":"2022-08-03T23:53:07.704Z","modified":"2022-08-03T23:56:27.083Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json"},"tests":[]},{"_id":"8cc586ec-6fe0-49b3-a9f3-2b3667afb79b","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-10-patient-view","method":"POST","sortNum":40000,"created":"2022-08-03T23:57:06.667Z","modified":"2022-08-03T23:58:16.514Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json"},"tests":[]},{"_id":"1ee547cb-9b16-4861-b255-b1ef815cc592","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-12","method":"POST","sortNum":40000,"created":"2022-08-04T00:10:03.363Z","modified":"2022-08-04T00:11:14.862Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json"},"tests":[]},{"_id":"77bc167c-159c-4c0d-8e03-3d6a3e4b49f6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"REQUEST_RETURN_NO_RECOMMENDATION_NLAO","url":"{{cdsHooksServer}}/opioidcds-04","method":"POST","sortNum":45000,"created":"2022-08-03T23:12:53.062Z","modified":"2022-08-03T23:16:35.177Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json"},"tests":[]},{"_id":"7c840898-29bf-4931-b307-3cdbed4437cc","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_NO_RECOMMENDATION_RA","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":45000,"created":"2022-08-03T23:37:38.804Z","modified":"2022-08-03T23:38:33.424Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json"},"tests":[]},{"_id":"22a21835-d326-4afe-9082-aa52021f0760","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"REQUEST_RETURN_NO_RECOMMENDATION_BWOO","url":"{{cdsHooksServer}}/opioidcds-11-patient-view","method":"POST","sortNum":45000,"created":"2022-08-04T00:08:05.098Z","modified":"2022-08-04T00:08:41.629Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json"},"tests":[]},{"_id":"237e4de3-1e8c-4048-beb3-9bc7e4c9d368","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-02","method":"POST","sortNum":50000,"created":"2022-08-03T03:07:14.251Z","modified":"2022-08-03T05:03:45.479Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json"},"tests":[]},{"_id":"06565e23-3b0a-49c1-bb39-930f5bb5ecb2","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-03","method":"POST","sortNum":50000,"created":"2022-08-03T04:53:54.506Z","modified":"2022-08-03T05:03:34.874Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json"},"tests":[]},{"_id":"ea5b9316-faf8-4a21-a1e7-3481f6adc179","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWAP","url":"{{fhirServer}}","method":"POST","sortNum":50000,"created":"2022-08-03T16:49:05.160Z","modified":"2022-08-03T16:49:56.398Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml"},"tests":[]},{"_id":"39c4baa8-b287-448b-aae5-888a25a1eda8","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_6OF10","url":"{{fhirServer}}","method":"POST","sortNum":50000,"created":"2022-08-03T19:19:38.244Z","modified":"2022-08-03T19:20:19.714Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-six-of-past-ten-days.xml"},"tests":[]},{"_id":"c6b4a454-c4fa-4dae-9d27-3b1cdfafd7b5","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWOB","url":"{{fhirServer}}","method":"POST","sortNum":50000,"created":"2022-08-03T22:17:05.941Z","modified":"2022-08-03T22:17:21.908Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml"},"tests":[]},{"_id":"0964de8d-6a9f-46c2-9152-eda2decffd69","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"REQUEST_RETURN_NO_RECOMMENDATION_OWAP","url":"{{cdsHooksServer}}/opioidcds-04-patient-view","method":"POST","sortNum":50000,"created":"2022-08-03T23:25:31.650Z","modified":"2022-08-03T23:26:12.282Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json"},"tests":[]},{"_id":"b98daac0-e2a9-4dac-88a4-38ebd2255663","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REQUEST_RETURN_NO_RECOMMENDATION_ONNALOX","url":"{{cdsHooksServer}}/opioidcds-08","method":"POST","sortNum":50000,"created":"2022-08-03T23:44:30.854Z","modified":"2022-08-03T23:44:59.458Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json"},"tests":[]},{"_id":"81df4252-b5b7-4848-862c-21363722ca2d","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"REQUEST_RETURN_NO_RECOMMENDATION_OWOB","url":"{{cdsHooksServer}}/opioidcds-11","method":"POST","sortNum":50000,"created":"2022-08-04T00:02:09.665Z","modified":"2022-08-04T00:02:37.498Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json"},"tests":[]},{"_id":"900e54a9-9717-4e14-8715-5b7b5b830c37","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_NO_RECOMMENDATION_6OF10","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":55000,"created":"2022-08-03T23:38:01.471Z","modified":"2022-08-03T23:39:06.901Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json"},"tests":[]},{"_id":"3d7626ee-c21a-485f-a07c-55ebfdf88c05","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_62OF90","url":"{{fhirServer}}","method":"POST","sortNum":60000,"created":"2022-08-03T19:22:13.320Z","modified":"2022-08-03T19:22:36.691Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml"},"tests":[]},{"_id":"c0597fdc-9a7c-45fa-b35c-46a7008f0136","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"REQUEST_RETURN_NO_RECOMMENDATION_OWAP","url":"{{cdsHooksServer}}/opioidcds-04","method":"POST","sortNum":60000,"created":"2022-08-03T23:13:10.829Z","modified":"2022-08-03T23:17:11.566Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json"},"tests":[]},{"_id":"22050e8e-f7a5-4b3d-befa-b459a3ab459e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"REQUEST_RETURN_NO_RECOMMENDATION_OWOB","url":"{{cdsHooksServer}}/opioidcds-11-patient-view","method":"POST","sortNum":60000,"created":"2022-08-04T00:08:46.144Z","modified":"2022-08-04T00:09:10.975Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json"},"tests":[]},{"_id":"4685e31e-12c0-49a8-b726-636a29d3a24d","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_NO_RECOMMENDATION_62OF90","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":70000,"created":"2022-08-03T23:39:10.936Z","modified":"2022-08-03T23:39:40.188Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json"},"tests":[]}]} From 03a8c07236e720521315817a47a1e0a9880c7628 Mon Sep 17 00:00:00 2001 From: c-schuler Date: Wed, 3 Aug 2022 22:42:11 -0600 Subject: [PATCH 03/24] Added refreshTestData scripts ... refreshed test data --- _refresh.bat | 3 +- _refresh.sh | 3 +- _refreshTestData.bat | 19 + _refreshTestData.sh | 21 + ...-rec-01-false-due-to-inpatient-opioid.json | 169 ++-- ...mple-rec-01-true-make-recommendations.json | 216 ++--- ...-false-due-to-careplan-within-90-days.json | 261 +++--- ...mple-rec-02-true-make-recommendations.json | 261 +++--- ...alse-due-to-discussion-within-90-days.json | 259 +++--- ...mple-rec-03-true-make-recommendations.json | 259 +++--- ...ndle-example-rec-04-long-acting-opioid.xml | 60 +- .../bundle-example-rec-04-new-patient.xml | 60 +- ...-example-rec-04-not-long-acting-opioid.xml | 60 +- ...ple-rec-04-opioid-with-abuse-potential.xml | 60 +- ...-example-rec-05-mme-greater-than-fifty.xml | 60 +- ...dle-example-rec-05-mme-less-than-fifty.xml | 136 +-- .../bundle-example-rec-06-criteria-valid.json | 179 ++-- ...-06-with-extended-release-for-27-days.json | 145 ++- ...e-example-rec-07-end-of-life-exclusion.xml | 137 ++- .../bundle-example-rec-07-risk-assessment.xml | 136 +-- ...-example-rec-07-seven-of-past-ten-days.xml | 137 ++- ...le-example-rec-07-six-of-past-ten-days.xml | 136 +-- ...-rec-07-sixtythree-of-past-ninety-days.xml | 137 ++- ...le-rec-07-sixtytwo-of-past-ninety-days.xml | 137 ++- ...-example-rec-08-mme-greater-than-fifty.xml | 137 ++- ...dle-example-rec-08-mme-less-than-fifty.xml | 136 +-- ...undle-example-rec-08-on-benzodiazepine.xml | 136 +-- .../bundle-example-rec-08-on-naloxone.xml | 136 +-- .../bundle-example-rec-08-substance-abuse.xml | 136 +-- ...lse-due-to-PDMP-review-within-90-days.json | 232 +++-- ...le-rec-09-true-return-recommendations.json | 256 +++--- ...ample-rec-10-end-of-life-med-exclusion.xml | 145 ++- .../bundle-example-rec-10-illicit-drugs.xml | 381 ++++---- ...mple-rec-10-missing-prescribed-opioids.xml | 382 ++++---- .../bundle-example-rec-10-no-screenings.xml | 293 +++--- ...-rec-10-not-missing-prescribed-opioids.xml | 381 ++++---- ...le-example-rec-10-unprescribed-opioids.xml | 468 +++++----- ...ample-rec-11-benzo-trigger-with-opioid.xml | 294 +++--- ...le-rec-11-benzo-trigger-without-opioid.xml | 32 +- ...ample-rec-11-opioid-trigger-with-benzo.xml | 294 +++--- ...le-rec-11-opioid-trigger-without-benzo.xml | 68 +- ...undle-example-rec-12-criteria-invalid.json | 143 ++- .../bundle-example-rec-12-criteria-valid.json | 146 ++- input/examples/careplan-example-opioidcds.xml | 24 +- ...mple-rec-04-long-acting-opioid-context.xml | 44 +- ...ple-rec-04-long-acting-opioid-prefetch.xml | 44 +- ...ter-example-rec-04-new-patient-context.xml | 44 +- ...-rec-04-not-long-acting-opioid-context.xml | 44 +- ...rec-04-not-long-acting-opioid-prefetch.xml | 44 +- ...04-opioid-with-abuse-potential-context.xml | 44 +- ...4-opioid-with-abuse-potential-prefetch.xml | 46 +- ...-rec-05-mme-greater-than-fifty-context.xml | 44 +- ...ple-rec-05-mme-less-than-fifty-context.xml | 44 +- ...e-rec-07-end-of-life-exclusion-context.xml | 44 +- ...-rec-07-end-of-life-exclusion-prefetch.xml | 44 +- ...example-rec-07-risk-assessment-context.xml | 44 +- ...xample-rec-07-risk-assessment-prefetch.xml | 44 +- ...-rec-07-seven-of-past-ten-days-context.xml | 44 +- ...rec-07-seven-of-past-ten-days-prefetch.xml | 44 +- ...le-rec-07-six-of-past-ten-days-context.xml | 44 +- ...e-rec-07-six-of-past-ten-days-prefetch.xml | 44 +- ...sixtythree-of-past-ninety-days-context.xml | 44 +- ...ixtythree-of-past-ninety-days-prefetch.xml | 44 +- ...7-sixtytwo-of-past-ninety-days-context.xml | 56 +- ...-sixtytwo-of-past-ninety-days-prefetch.xml | 44 +- ...-rec-08-mme-greater-than-fifty-context.xml | 44 +- ...ple-rec-08-mme-less-than-fifty-context.xml | 44 +- ...ample-rec-08-on-benzodiazepine-context.xml | 56 +- ...mple-rec-08-on-benzodiazepine-prefetch.xml | 44 +- ...ter-example-rec-08-on-naloxone-context.xml | 44 +- ...er-example-rec-08-on-naloxone-prefetch.xml | 44 +- ...example-rec-08-substance-abuse-context.xml | 56 +- ...c-10-end-of-life-med-exclusion-context.xml | 40 +- ...r-example-rec-10-illicit-drugs-context.xml | 56 +- ...-example-rec-10-illicit-drugs-prefetch.xml | 56 +- ...-10-missing-prescribed-opioids-context.xml | 56 +- ...10-missing-prescribed-opioids-prefetch.xml | 56 +- ...r-example-rec-10-no-screenings-context.xml | 56 +- ...-example-rec-10-no-screenings-prefetch.xml | 56 +- ...not-missing-prescribed-opioids-context.xml | 56 +- ...ot-missing-prescribed-opioids-prefetch.xml | 56 +- ...le-rec-10-unprescribed-opioids-context.xml | 56 +- ...e-rec-10-unprescribed-opioids-prefetch.xml | 56 +- ...c-11-benzo-trigger-with-opioid-context.xml | 56 +- ...-11-benzo-trigger-with-opioid-prefetch.xml | 56 +- ...1-benzo-trigger-without-opioid-context.xml | 56 +- ...c-11-opioid-trigger-with-benzo-context.xml | 56 +- ...-11-opioid-trigger-with-benzo-prefetch.xml | 56 +- ...1-opioid-trigger-without-benzo-context.xml | 56 +- .../medicationrequest-example-opioidcds.xml | 134 ++- ...ple-rec-04-long-acting-opioid-prefetch.xml | 56 +- ...rec-04-not-long-acting-opioid-prefetch.xml | 56 +- ...4-opioid-with-abuse-potential-prefetch.xml | 56 +- ...-rec-07-end-of-life-exclusion-prefetch.xml | 129 ++- ...rec-07-seven-of-past-ten-days-prefetch.xml | 60 +- ...e-rec-07-six-of-past-ten-days-prefetch.xml | 60 +- ...ixtythree-of-past-ninety-days-prefetch.xml | 60 +- ...-sixtytwo-of-past-ninety-days-prefetch.xml | 128 +-- ...mple-rec-08-on-benzodiazepine-prefetch.xml | 60 +- ...st-example-rec-08-on-naloxone-prefetch.xml | 60 +- ...-example-rec-10-illicit-drugs-prefetch.xml | 60 +- ...10-missing-prescribed-opioids-prefetch.xml | 60 +- ...-example-rec-10-no-screenings-prefetch.xml | 128 +-- ...ot-missing-prescribed-opioids-prefetch.xml | 61 +- ...e-rec-10-unprescribed-opioids-prefetch.xml | 60 +- ...-11-benzo-trigger-with-opioid-prefetch.xml | 60 +- ...-11-opioid-trigger-with-benzo-prefetch.xml | 60 +- .../observation-example-opioidcds.xml | 64 +- ...-example-rec-10-illicit-drugs-prefetch.xml | 30 +- ...10-missing-prescribed-opioids-prefetch.xml | 30 +- ...ot-missing-prescribed-opioids-prefetch.xml | 30 +- ...-unprescribed-opioids-prefetch-codeine.xml | 30 +- ...nprescribed-opioids-prefetch-oxycodone.xml | 30 +- input/examples/patient-example-opioidcds.xml | 58 +- ...ient-example-rec-04-long-acting-opioid.xml | 16 +- .../patient-example-rec-04-new-patient.xml | 16 +- ...-example-rec-04-not-long-acting-opioid.xml | 16 +- ...ple-rec-04-opioid-with-abuse-potential.xml | 16 +- ...-example-rec-05-mme-greater-than-fifty.xml | 16 +- ...ent-example-rec-05-mme-less-than-fifty.xml | 16 +- ...t-example-rec-07-end-of-life-exclusion.xml | 16 +- ...patient-example-rec-07-risk-assessment.xml | 16 +- ...-example-rec-07-seven-of-past-ten-days.xml | 16 +- ...nt-example-rec-07-six-of-past-ten-days.xml | 16 +- ...-rec-07-sixtythree-of-past-ninety-days.xml | 16 +- ...le-rec-07-sixtytwo-of-past-ninety-days.xml | 16 +- ...-example-rec-08-mme-greater-than-fifty.xml | 16 +- ...ent-example-rec-08-mme-less-than-fifty.xml | 16 +- ...tient-example-rec-08-on-benzodiazepine.xml | 16 +- .../patient-example-rec-08-on-naloxone.xml | 16 +- ...patient-example-rec-08-substance-abuse.xml | 16 +- ...ample-rec-10-end-of-life-med-exclusion.xml | 38 +- .../patient-example-rec-10-illicit-drugs.xml | 40 +- ...mple-rec-10-missing-prescribed-opioids.xml | 42 +- .../patient-example-rec-10-no-screenings.xml | 38 +- ...-rec-10-not-missing-prescribed-opioids.xml | 38 +- ...nt-example-rec-10-unprescribed-opioids.xml | 38 +- ...ample-rec-11-benzo-trigger-with-opioid.xml | 38 +- ...le-rec-11-benzo-trigger-without-opioid.xml | 38 +- ...ample-rec-11-opioid-trigger-with-benzo.xml | 38 +- ...le-rec-11-opioid-trigger-without-benzo.xml | 38 +- ...xample-rec-07-risk-assessment-prefetch.xml | 48 +- .../requestgroup-example-opioidcds.xml | 46 +- .../requests/HelloWorld/HelloWorld.json | 3 +- ...t-example-rec-01-in-outpatient-opioid.json | 50 +- ...t-example-rec-01-out-inpatient-opioid.json | 50 +- ...-example-rec-02-in-careplan-revisited.json | 158 ++-- ...ple-rec-02-out-careplan-not-revisited.json | 150 ++-- ...ec-03-in-no-counseling-within-90-days.json | 145 ++- ...-rec-03-out-counseling-within-90-days.json | 145 ++- ...est-example-rec-04-long-acting-opioid.json | 203 +++-- .../request-example-rec-04-new-patient.json | 155 ++-- ...example-rec-04-not-long-acting-opioid.json | 214 ++--- ...le-rec-04-opioid-with-abuse-potential.json | 210 ++--- ...ec-04-patient-view-long-acting-opioid.json | 63 +- ...ample-rec-04-patient-view-new-patient.json | 52 +- ...4-patient-view-not-long-acting-opioid.json | 60 +- ...ient-view-opioid-with-abuse-potential.json | 63 +- ...example-rec-05-mme-greater-than-fifty.json | 145 ++- ...st-example-rec-05-mme-less-than-fifty.json | 145 ++- ...equest-example-rec-06-in-criteria-met.json | 234 +++-- ...e-rec-06-out-extended-release-27-days.json | 233 +++-- ...-example-rec-07-end-of-life-exclusion.json | 187 ++-- ...equest-example-rec-07-risk-assessment.json | 61 +- ...example-rec-07-seven-of-past-ten-days.json | 190 ++-- ...t-example-rec-07-six-of-past-ten-days.json | 192 ++-- ...rec-07-sixtythree-of-past-ninety-days.json | 190 ++-- ...e-rec-07-sixtytwo-of-past-ninety-days.json | 190 ++-- ...example-rec-08-mme-greater-than-fifty.json | 45 +- ...st-example-rec-08-mme-less-than-fifty.json | 36 +- ...uest-example-rec-08-multiple-doseRate.json | 38 +- ...uest-example-rec-08-on-benzodiazepine.json | 64 +- .../request-example-rec-08-on-naloxone.json | 64 +- ...equest-example-rec-08-substance-abuse.json | 67 +- ...-08-order-sign-mme-greater-than-fifty.json | 38 +- ...rec-08-order-sign-mme-less-than-fifty.json | 36 +- ...e-rec-08-order-sign-multiple-doseRate.json | 38 +- ...e-rec-08-order-sign-on-benzodiazepine.json | 64 +- ...example-rec-08-order-sign-on-naloxone.json | 64 +- ...ple-rec-08-order-sign-substance-abuse.json | 74 +- ...equest-example-rec-09-in-criteria-met.json | 52 +- ...xample-rec-09-out-PDMP-review-90-days.json | 136 ++- ...equest-example-rec-10-2-illicit-drugs.json | 162 ++-- ...mple-rec-10-end-of-life-med-exclusion.json | 51 +- ...mple-rec-10-illicit-drugs-POS-Cocaine.json | 168 ++-- ...llicit-drugs-POS-Opiate-non-synthetic.json | 837 +++++++++--------- ...ample-rec-10-illicit-drugs-POS-Opiate.json | 168 ++-- ...-example-rec-10-illicit-drugs-POS-PCP.json | 168 ++-- .../request-example-rec-10-no-screenings.json | 105 ++- ...ple-rec-10-order-sign-2-illicit-drugs.json | 168 ++-- ...-order-sign-illicit-drugs-POS-Cocaine.json | 169 ++-- ...0-order-sign-illicit-drugs-POS-Opiate.json | 179 ++-- ...c-10-order-sign-illicit-drugs-POS-PCP.json | 176 ++-- ...ample-rec-10-order-sign-no-screenings.json | 102 ++- ...e-rec-10-patient-view-2-illicit-drugs.json | 124 +-- ...ample-rec-10-patient-view-POS-Cocaine.json | 128 +-- ...t-example-rec-10-patient-view-POS-PCP.json | 128 +-- ...atient-view-end-of-life-med-exclusion.json | 69 +- ...patient-view-illicit-drugs-POS-Opiate.json | 168 ++-- ...ple-rec-10-patient-view-illicit-drugs.json | 56 +- ...tient-view-no-screenings-by-reference.json | 28 +- ...ple-rec-10-patient-view-no-screenings.json | 28 +- ...mple-rec-11-benzo-trigger-with-opioid.json | 212 ++--- ...e-rec-11-benzo-trigger-without-opioid.json | 153 ++-- ...mple-rec-11-opioid-trigger-with-benzo.json | 189 ++-- ...e-rec-11-opioid-trigger-without-benzo.json | 167 ++-- ...atient-view-benzo-trigger-with-opioid.json | 28 +- ...ent-view-benzo-trigger-without-opioid.json | 18 +- ...atient-view-opioid-trigger-with-benzo.json | 28 +- ...ent-view-opioid-trigger-without-benzo.json | 18 +- ...e-rec-12-patient-view-in-criteria-met.json | 42 +- ...rec-12-patient-view-out-opioid-misuse.json | 148 ++-- 212 files changed, 10095 insertions(+), 10243 deletions(-) create mode 100644 _refreshTestData.bat create mode 100644 _refreshTestData.sh diff --git a/_refresh.bat b/_refresh.bat index cebf1771..51ad11aa 100644 --- a/_refresh.bat +++ b/_refresh.bat @@ -22,12 +22,13 @@ SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 IF EXIST "%input_cache_path%\%tooling_jar%" ( ECHO running: JAVA -jar "%input_cache_path%\%tooling_jar%" -RefreshIG -ini="%ig_ini_path%" -rp="%resources_path%" -t -d -p %fsoption% JAVA -jar "%input_cache_path%\%tooling_jar%" -RefreshIG -ini="%ig_ini_path%" -rp="%resources_path%" -t -d -p %fsoption% + CALL ./_refreshTestData.bat -watch ) ELSE If exist "..\%tooling_jar%" ( ECHO running: JAVA -jar "..\%tooling_jar%" -RefreshIG -ini="%ig_ini_path%" -rp="%resources_path%" -t -d -p %fsoption% JAVA -jar "..\%tooling_jar%" -RefreshIG -ini="%ig_ini_path%" -rp="%resources_path%" -t -d -p %fsoption% + CALL ./_refreshTestData.bat -watch ) ELSE ( ECHO IG Refresh NOT FOUND in input-cache or parent folder. Please run _updateCQFTooling. Aborting... ) - PAUSE diff --git a/_refresh.sh b/_refresh.sh index 7c933fc7..1ea22736 100644 --- a/_refresh.sh +++ b/_refresh.sh @@ -23,13 +23,14 @@ echo "$fsoption" tooling=$input_cache_path/$tooling_jar if test -f "$tooling"; then JAVA -jar $tooling -RefreshIG -ini="$ig_ini_path" -rp="$resources_path" -d -p -t -ss=false $fsoption + ./_refreshTestData.sh -watch else tooling=../$tooling_jar echo $tooling if test -f "$tooling"; then JAVA -jar $tooling -RefreshIG -ini="$ig_ini_path" -rp="$resources_path" -d -p -t -ss=false $fsoption + ./_refreshTestData.sh -watch else echo IG Refresh NOT FOUND in input-cache or parent folder. Please run _updateCQFTooling. Aborting... fi fi - diff --git a/_refreshTestData.bat b/_refreshTestData.bat new file mode 100644 index 00000000..fca3fb9f --- /dev/null +++ b/_refreshTestData.bat @@ -0,0 +1,19 @@ +@ECHO OFF +SET tooling_jar=tooling-1.4.1-SNAPSHOT-jar-with-dependencies.jar +SET input_cache_path=%~dp0/input-cache +SET patient_data_bundles=%~dp0/input/examples +SET service_requests=%~dp0/input/pagecontent/requests + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +IF EXIST "%input_cache_path%\%tooling_jar%" ( + JAVA -jar "%input_cache_path%\%tooling_jar%" -RollTestsDataDates -v=r4 -ip="%patient_data_bundles%" + JAVA -jar "%input_cache_path%\%tooling_jar%" -RollTestsDataDates -v=r4 -ip="%service_requests%" +) ELSE If exist "..\%tooling_jar%" ( + JAVA -jar "..\%tooling_jar%" -RollTestsDataDates -v=r4 -ip="%patient_data_bundles%" + JAVA -jar "..\%tooling_jar%" -RollTestsDataDates -v=r4 -ip="%service_requests%" +) ELSE ( + ECHO IG Refresh NOT FOUND in input-cache or parent folder. Please run _updateCQFTooling. Aborting... +) + +PAUSE \ No newline at end of file diff --git a/_refreshTestData.sh b/_refreshTestData.sh new file mode 100644 index 00000000..0622895d --- /dev/null +++ b/_refreshTestData.sh @@ -0,0 +1,21 @@ +#!/bin/bash +#DO NOT EDIT WITH WINDOWS +tooling_jar=tooling-1.4.1-SNAPSHOT-jar-with-dependencies.jar +input_cache_path=$PWD/input-cache +patient_data_bundles=$PWD/input/examples +service_requests=$PWD/input/pagecontent/requests + +tooling=$input_cache_path/$tooling_jar +if test -f "$tooling"; then + JAVA -jar $tooling -RollTestsDataDates -v=r4 -ip="$patient_data_bundles" + JAVA -jar $tooling -RollTestsDataDates -v=r4 -ip="$service_requests" +else + tooling=../$tooling_jar + echo $tooling + if test -f "$tooling"; then + JAVA -jar $tooling -RollTestsDataDates -v=r4 -ip="$patient_data_bundles" + JAVA -jar $tooling -RollTestsDataDates -v=r4 -ip="$service_requests" + else + echo IG Refresh NOT FOUND in input-cache or parent folder. Please run _updateCQFTooling. Aborting... + fi +fi \ No newline at end of file diff --git a/input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json b/input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json index 95f3556e..4f489319 100644 --- a/input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json +++ b/input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json @@ -1,95 +1,76 @@ { - "resourceType": "Bundle", - "id": "example-rec-01-false-due-to-inpatient-opioid", - "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-01-false-due-to-inpatient-opioid", - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-01-false-due-to-inpatient-opioid", - "birthDate": "2002-04-08" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-01-false-due-to-inpatient-opioid" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-01-false-due-to-inpatient-opioid", - "resource": { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-01-false-due-to-inpatient-opioid", - "status": "active", - "intent": "order", - "subject": { - "reference": "Patient/example-rec-01-false-due-to-inpatient-opioid" - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "inpatient", - "display": "Inpatient" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-01-false-due-to-inpatient-opioid" - } - } - ] -} + "resourceType": "Bundle", + "id": "example-rec-01-false-due-to-inpatient-opioid", + "type": "transaction", + "entry": [ { + "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-01-false-due-to-inpatient-opioid", + "resource": { + "resourceType": "Patient", + "id": "example-rec-01-false-due-to-inpatient-opioid", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "birthDate": "2002-07-14" + }, + "request": { + "method": "PUT", + "url": "Patient/example-rec-01-false-due-to-inpatient-opioid" + } + }, { + "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-01-false-due-to-inpatient-opioid", + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-01-false-due-to-inpatient-opioid", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "status": "active", + "intent": "order", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "inpatient", + "display": "Inpatient" + } ] + } ], + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } ] + }, + "subject": { + "reference": "Patient/example-rec-01-false-due-to-inpatient-opioid" + } + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/example-rec-01-false-due-to-inpatient-opioid" + } + } ] +} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-01-true-make-recommendations.json b/input/examples/bundle-example-rec-01-true-make-recommendations.json index 17a24015..c14ca34b 100644 --- a/input/examples/bundle-example-rec-01-true-make-recommendations.json +++ b/input/examples/bundle-example-rec-01-true-make-recommendations.json @@ -1,120 +1,98 @@ { - "resourceType": "Bundle", - "id": "example-rec-01-true-make-recommendations", - "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-01-true-make-recommendations", - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-01-true-make-recommendations", - "birthDate": "2002-04-08" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-01-true-make-recommendations" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/MedicationStatement/example-rec-01-true-make-recommendations", - "resource": { - "resourceType": "MedicationStatement", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-01-true-make-recommendations", - "status": "active", - "subject": { - "reference": "Patient/example-rec-01-true-make-recommendations" - }, - "effectiveDateTime": "2022-01-03", - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - } - }, - "request": { - "method": "PUT", - "url": "MedicationStatement/example-rec-01-true-make-recommendations" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-01-true-make-recommendations", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-01-true-make-recommendations", - "status": "active", - "intent": "order", - "subject": { - "reference": "Patient/example-rec-01-true-make-recommendations" - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-01-true-make-recommendations" - } - } - ] -} + "resourceType": "Bundle", + "id": "example-rec-01-true-make-recommendations", + "type": "transaction", + "entry": [ { + "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-01-true-make-recommendations", + "resource": { + "resourceType": "Patient", + "id": "example-rec-01-true-make-recommendations", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "birthDate": "2002-07-14" + }, + "request": { + "method": "PUT", + "url": "Patient/example-rec-01-true-make-recommendations" + } + }, { + "fullUrl": "http://localhost:8080/fhir/MedicationStatement/example-rec-01-true-make-recommendations", + "resource": { + "resourceType": "MedicationStatement", + "id": "example-rec-01-true-make-recommendations", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "status": "active", + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } ] + }, + "subject": { + "reference": "Patient/example-rec-01-true-make-recommendations" + }, + "effectiveDateTime": "2022-04-10" + }, + "request": { + "method": "PUT", + "url": "MedicationStatement/example-rec-01-true-make-recommendations" + } + }, { + "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-01-true-make-recommendations", + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-01-true-make-recommendations", + "status": "active", + "intent": "order", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "outpatient", + "display": "Outpatient" + } ] + } ], + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } ] + }, + "subject": { + "reference": "Patient/example-rec-01-true-make-recommendations" + } + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/example-rec-01-true-make-recommendations" + } + } ] +} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json b/input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json index 2f231918..a6f9dc26 100644 --- a/input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json +++ b/input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json @@ -1,144 +1,119 @@ { - "resourceType": "Bundle", - "id": "example-rec-02-false-due-to-careplan-within-90-days", - "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-02-false-due-to-careplan-within-90-days", - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-02-false-due-to-careplan-within-90-days", - "birthDate": "2002-04-08" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-02-false-due-to-careplan-within-90-days" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/Practitioner/example-rec-02-false-due-to-careplan-within-90-days", - "resource": { - "resourceType": "Practitioner", - "id": "example-rec-02-false-due-to-careplan-within-90-days" - }, - "request": { - "method": "PUT", - "url": "Practitioner/example-rec-02-false-due-to-careplan-within-90-days" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-02-false-due-to-careplan-within-90-days", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-02-false-due-to-careplan-within-90-days", - "authoredOn": "2018-08-01T00:00:00.0Z", - "status": "active", - "intent": "order", - "subject": { - "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - }, - "recorder": { - "reference": "Practitioner/example-rec-02-false-due-to-careplan-within-90-days" - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-02-false-due-to-careplan-within-90-days" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/CarePlan/example-rec-02-false-due-to-careplan-within-90-days", - "resource": { - "resourceType": "CarePlan", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-02-false-due-to-careplan-within-90-days", - "meta": { - "lastUpdated": "2022-01-09T00:00:00Z" - }, - "status": "active", - "intent": "plan", - "category": [ - { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "103735009", - "display": "Palliative care" - } - ] - } - ], - "subject": { - "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" - }, - "created": "2021-12-09", - "author": { - "reference": "Practitioner/example-rec-02-false-due-to-careplan-within-90-days" - } - }, - "request": { - "method": "PUT", - "url": "CarePlan/example-rec-02-false-due-to-careplan-within-90-days" - } - } - ] -} + "resourceType": "Bundle", + "id": "example-rec-02-false-due-to-careplan-within-90-days", + "type": "transaction", + "entry": [ { + "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-02-false-due-to-careplan-within-90-days", + "resource": { + "resourceType": "Patient", + "id": "example-rec-02-false-due-to-careplan-within-90-days", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "birthDate": "2002-07-14" + }, + "request": { + "method": "PUT", + "url": "Patient/example-rec-02-false-due-to-careplan-within-90-days" + } + }, { + "fullUrl": "http://localhost:8080/fhir/Practitioner/example-rec-02-false-due-to-careplan-within-90-days", + "resource": { + "resourceType": "Practitioner", + "id": "example-rec-02-false-due-to-careplan-within-90-days" + }, + "request": { + "method": "PUT", + "url": "Practitioner/example-rec-02-false-due-to-careplan-within-90-days" + } + }, { + "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-02-false-due-to-careplan-within-90-days", + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-02-false-due-to-careplan-within-90-days", + "status": "active", + "intent": "order", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "outpatient", + "display": "Outpatient" + } ] + } ], + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } ] + }, + "subject": { + "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" + }, + "authoredOn": "2018-08-01T00:00:00.0Z", + "recorder": { + "reference": "Practitioner/example-rec-02-false-due-to-careplan-within-90-days" + } + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/example-rec-02-false-due-to-careplan-within-90-days" + } + }, { + "fullUrl": "http://localhost:8080/fhir/CarePlan/example-rec-02-false-due-to-careplan-within-90-days", + "resource": { + "resourceType": "CarePlan", + "id": "example-rec-02-false-due-to-careplan-within-90-days", + "meta": { + "lastUpdated": "2022-01-09T00:00:00Z" + }, + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "status": "active", + "intent": "plan", + "category": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "103735009", + "display": "Palliative care" + } ] + } ], + "subject": { + "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" + }, + "created": "2022-03-16", + "author": { + "reference": "Practitioner/example-rec-02-false-due-to-careplan-within-90-days" + } + }, + "request": { + "method": "PUT", + "url": "CarePlan/example-rec-02-false-due-to-careplan-within-90-days" + } + } ] +} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-02-true-make-recommendations.json b/input/examples/bundle-example-rec-02-true-make-recommendations.json index 0fc28675..3488b19d 100644 --- a/input/examples/bundle-example-rec-02-true-make-recommendations.json +++ b/input/examples/bundle-example-rec-02-true-make-recommendations.json @@ -1,144 +1,119 @@ { - "resourceType": "Bundle", - "id": "example-rec-02-true-make-recommendations", - "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-02-true-make-recommendations", - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-02-true-make-recommendations", - "birthDate": "2002-04-08" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-02-true-make-recommendations" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/Practitioner/example-rec-02-true-make-recommendations", - "resource": { - "resourceType": "Practitioner", - "id": "example-rec-02-true-make-recommendations" - }, - "request": { - "method": "PUT", - "url": "Practitioner/example-rec-02-true-make-recommendations" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-02-true-make-recommendations", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-02-true-make-recommendations", - "authoredOn": "2018-01-01T00:00:00.0Z", - "status": "active", - "intent": "order", - "subject": { - "reference": "Patient/example-rec-02-true-make-recommendations" - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - }, - "recorder": { - "reference": "Practitioner/example-rec-02-true-make-recommendations" - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-02-true-make-recommendations" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/CarePlan/example-rec-02-true-make-recommendations", - "resource": { - "resourceType": "CarePlan", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-02-true-make-recommendations", - "meta": { - "lastUpdated": "2021-12-09T00:00:00Z" - }, - "status": "active", - "intent": "plan", - "category": [ - { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "103735009", - "display": "Palliative care" - } - ] - } - ], - "subject": { - "reference": "Patient/example-rec-02-true-make-recommendations" - }, - "created": "2021-12-09", - "author": { - "reference": "Practitioner/example-rec-02-true-make-recommendations" - } - }, - "request": { - "method": "PUT", - "url": "CarePlan/example-rec-02-true-make-recommendations" - } - } - ] -} + "resourceType": "Bundle", + "id": "example-rec-02-true-make-recommendations", + "type": "transaction", + "entry": [ { + "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-02-true-make-recommendations", + "resource": { + "resourceType": "Patient", + "id": "example-rec-02-true-make-recommendations", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "birthDate": "2002-07-14" + }, + "request": { + "method": "PUT", + "url": "Patient/example-rec-02-true-make-recommendations" + } + }, { + "fullUrl": "http://localhost:8080/fhir/Practitioner/example-rec-02-true-make-recommendations", + "resource": { + "resourceType": "Practitioner", + "id": "example-rec-02-true-make-recommendations" + }, + "request": { + "method": "PUT", + "url": "Practitioner/example-rec-02-true-make-recommendations" + } + }, { + "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-02-true-make-recommendations", + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-02-true-make-recommendations", + "status": "active", + "intent": "order", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "outpatient", + "display": "Outpatient" + } ] + } ], + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } ] + }, + "subject": { + "reference": "Patient/example-rec-02-true-make-recommendations" + }, + "authoredOn": "2018-01-01T00:00:00.0Z", + "recorder": { + "reference": "Practitioner/example-rec-02-true-make-recommendations" + } + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/example-rec-02-true-make-recommendations" + } + }, { + "fullUrl": "http://localhost:8080/fhir/CarePlan/example-rec-02-true-make-recommendations", + "resource": { + "resourceType": "CarePlan", + "id": "example-rec-02-true-make-recommendations", + "meta": { + "lastUpdated": "2021-12-09T00:00:00Z" + }, + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "status": "active", + "intent": "plan", + "category": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "103735009", + "display": "Palliative care" + } ] + } ], + "subject": { + "reference": "Patient/example-rec-02-true-make-recommendations" + }, + "created": "2022-03-16", + "author": { + "reference": "Practitioner/example-rec-02-true-make-recommendations" + } + }, + "request": { + "method": "PUT", + "url": "CarePlan/example-rec-02-true-make-recommendations" + } + } ] +} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json b/input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json index aa3a0f76..aba911b5 100644 --- a/input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json +++ b/input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json @@ -1,144 +1,117 @@ { - "resourceType": "Bundle", - "id": "example-rec-03-false-due-to-discussion-within-90-days", - "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-03-false-due-to-discussion-within-90-days", - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "7bdbc7ea-f76d-476e-bf94-85c6e368df67-1", - "birthDate": "2002-04-08" - }, - "request": { - "method": "PUT", - "url": "Patient/7bdbc7ea-f76d-476e-bf94-85c6e368df67-1" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-03-false-due-to-discussion-within-90-days", - "resource": { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "7bdbc7ea-f76d-476e-bf94-85c6e368df67-3", - "authoredOn": "2018-08-01T00:00:00.0Z", - "status": "active", - "intent": "order", - "subject": { - "reference": "Patient/7bdbc7ea-f76d-476e-bf94-85c6e368df67-1" - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/7bdbc7ea-f76d-476e-bf94-85c6e368df67-3" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/Procedure/example-rec-03-false-due-to-discussion-within-90-days", - "resource": { - "resourceType": "Procedure", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "7bdbc7ea-f76d-476e-bf94-85c6e368df67-21", - "status": "completed", - "code": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "313071005", - "display": "Counseling for substance abuse (procedure)" - } - ] - }, - "subject": { - "reference": "Patient/7bdbc7ea-f76d-476e-bf94-85c6e368df67-1" - }, - "performedPeriod": { - "start": "2022-01-09", - "end": "2022-01-10" - } - }, - "request": { - "method": "PUT", - "url": "Procedure/7bdbc7ea-f76d-476e-bf94-85c6e368df67-21" - } - } - ] -} + "resourceType": "Bundle", + "id": "example-rec-03-false-due-to-discussion-within-90-days", + "type": "transaction", + "entry": [ { + "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-03-false-due-to-discussion-within-90-days", + "resource": { + "resourceType": "Patient", + "id": "7bdbc7ea-f76d-476e-bf94-85c6e368df67-1", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "birthDate": "2002-07-14" + }, + "request": { + "method": "PUT", + "url": "Patient/7bdbc7ea-f76d-476e-bf94-85c6e368df67-1" + } + }, { + "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-03-false-due-to-discussion-within-90-days", + "resource": { + "resourceType": "MedicationRequest", + "id": "7bdbc7ea-f76d-476e-bf94-85c6e368df67-3", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "status": "active", + "intent": "order", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "outpatient", + "display": "Outpatient" + } ] + } ], + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } ] + }, + "subject": { + "reference": "Patient/7bdbc7ea-f76d-476e-bf94-85c6e368df67-1" + }, + "authoredOn": "2018-11-06T07:00:00.000Z" + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/7bdbc7ea-f76d-476e-bf94-85c6e368df67-3" + } + }, { + "fullUrl": "http://localhost:8080/fhir/Procedure/example-rec-03-false-due-to-discussion-within-90-days", + "resource": { + "resourceType": "Procedure", + "id": "7bdbc7ea-f76d-476e-bf94-85c6e368df67-21", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "status": "completed", + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "313071005", + "display": "Counseling for substance abuse (procedure)" + } ] + }, + "subject": { + "reference": "Patient/7bdbc7ea-f76d-476e-bf94-85c6e368df67-1" + }, + "performedPeriod": { + "start": "2022-04-16", + "end": "2022-04-17" + } + }, + "request": { + "method": "PUT", + "url": "Procedure/7bdbc7ea-f76d-476e-bf94-85c6e368df67-21" + } + } ] +} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-03-true-make-recommendations.json b/input/examples/bundle-example-rec-03-true-make-recommendations.json index 59f58cc8..6085b97a 100644 --- a/input/examples/bundle-example-rec-03-true-make-recommendations.json +++ b/input/examples/bundle-example-rec-03-true-make-recommendations.json @@ -1,144 +1,117 @@ { - "resourceType": "Bundle", - "id": "example-rec-03-true-make-recommendations", - "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-03-true-make-recommendations", - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-03-true-make-recommendations", - "birthDate": "2002-04-08" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-03-true-make-recommendations" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-03-true-make-recommendations", - "resource": { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-03-true-make-recommendations", - "authoredOn": "2018-08-01T00:00:00.0Z", - "status": "active", - "intent": "order", - "subject": { - "reference": "Patient/example-rec-03-true-make-recommendations" - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-03-true-make-recommendations" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/Procedure/example-rec-03-true-make-recommendations", - "resource": { - "resourceType": "Procedure", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-03-true-make-recommendations", - "status": "completed", - "code": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "313071005", - "display": "Counseling for substance abuse (procedure)" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-03-true-make-recommendations" - }, - "performedPeriod": { - "start": "2021-12-08", - "end": "2022-01-07" - } - }, - "request": { - "method": "PUT", - "url": "Procedure/example-rec-03-true-make-recommendations" - } - } - ] -} + "resourceType": "Bundle", + "id": "example-rec-03-true-make-recommendations", + "type": "transaction", + "entry": [ { + "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-03-true-make-recommendations", + "resource": { + "resourceType": "Patient", + "id": "example-rec-03-true-make-recommendations", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "birthDate": "2002-07-14" + }, + "request": { + "method": "PUT", + "url": "Patient/example-rec-03-true-make-recommendations" + } + }, { + "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-03-true-make-recommendations", + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-03-true-make-recommendations", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "status": "active", + "intent": "order", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "outpatient", + "display": "Outpatient" + } ] + } ], + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } ] + }, + "subject": { + "reference": "Patient/example-rec-03-true-make-recommendations" + }, + "authoredOn": "2018-11-06T07:00:00.000Z" + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/example-rec-03-true-make-recommendations" + } + }, { + "fullUrl": "http://localhost:8080/fhir/Procedure/example-rec-03-true-make-recommendations", + "resource": { + "resourceType": "Procedure", + "id": "example-rec-03-true-make-recommendations", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "status": "completed", + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "313071005", + "display": "Counseling for substance abuse (procedure)" + } ] + }, + "subject": { + "reference": "Patient/example-rec-03-true-make-recommendations" + }, + "performedPeriod": { + "start": "2022-03-15", + "end": "2022-04-14" + } + }, + "request": { + "method": "PUT", + "url": "Procedure/example-rec-03-true-make-recommendations" + } + } ] +} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-04-long-acting-opioid.xml b/input/examples/bundle-example-rec-04-long-acting-opioid.xml index b0e097ab..d21e7554 100644 --- a/input/examples/bundle-example-rec-04-long-acting-opioid.xml +++ b/input/examples/bundle-example-rec-04-long-acting-opioid.xml @@ -1,69 +1,69 @@ - - + + - + - + - + - - - - + + + + - - + + - - + + - + - + - + - - - - + + + + - + - - - + + + - + - - + + - - + + - + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-04-new-patient.xml b/input/examples/bundle-example-rec-04-new-patient.xml index 93392d87..96cce4d5 100644 --- a/input/examples/bundle-example-rec-04-new-patient.xml +++ b/input/examples/bundle-example-rec-04-new-patient.xml @@ -1,69 +1,69 @@ - - + + - + - + - + - - - - + + + + - - + + - - + + - + - + - + - - - - + + + + - + - - - + + + - + - - + + - - + + - + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml b/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml index 32efbb1a..42054090 100644 --- a/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml +++ b/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml @@ -1,69 +1,69 @@ - - + + - + - + - + - - - - + + + + - - + + - - + + - + - + - + - - - - + + + + - + - - - + + + - + - - + + - - + + - + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml b/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml index 58eb9477..7edbbc2b 100644 --- a/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml +++ b/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml @@ -1,69 +1,69 @@ - - + + - + - + - + - - - - + + + + - - + + - - + + - + - + - + - - - - + + + + - + - - - + + + - + - - + + - - + + - + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml b/input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml index 19b809d3..e86c8f36 100644 --- a/input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml +++ b/input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml @@ -1,69 +1,69 @@ - - + + - + - + - + - - - - + + + + - - + + - - + + - + - + - + - - - - + + + + - + - - - + + + - + - - + + - - + + - + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-05-mme-less-than-fifty.xml b/input/examples/bundle-example-rec-05-mme-less-than-fifty.xml index 0f7dcafc..5f74db4e 100644 --- a/input/examples/bundle-example-rec-05-mme-less-than-fifty.xml +++ b/input/examples/bundle-example-rec-05-mme-less-than-fifty.xml @@ -1,69 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-06-criteria-valid.json b/input/examples/bundle-example-rec-06-criteria-valid.json index f706c2e9..e0742db3 100644 --- a/input/examples/bundle-example-rec-06-criteria-valid.json +++ b/input/examples/bundle-example-rec-06-criteria-valid.json @@ -1,100 +1,83 @@ { - "resourceType": "Bundle", - "id": "example-rec-06-criteria-valid", - "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-06-criteria-valid", - "resource": { - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], "resourceType": "Patient", - "id": "example-rec-06-criteria-valid", - "birthDate": "2002-04-08" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-06-criteria-valid" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-06-criteria-valid", - "resource": { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], "id": "example-rec-06-criteria-valid", - "authoredOn": "2018-08-01T00:00:00.0Z", - "status": "active", - "intent": "order", - "subject": { - "reference": "Patient/example-rec-06-criteria-valid" - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet" - } - ] - }, - "dispenseRequest": { - "expectedSupplyDuration": { - "value": 5.0, - "unit": "d" - } - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-06-criteria-valid" - } + "resourceType": "Bundle", + "id": "example-rec-06-criteria-valid", + "type": "transaction", + "entry": [ { + "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-06-criteria-valid", + "resource": { + "resourceType": "Patient", + "id": "example-rec-06-criteria-valid", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "birthDate": "2002-08-03" + }, + "request": { + "method": "PUT", + "url": "Patient/example-rec-06-criteria-valid" + } + }, { + "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-06-criteria-valid", + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-06-criteria-valid", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "status": "active", + "intent": "order", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "outpatient", + "display": "Outpatient" + } ] + } ], + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet" + } ] + }, + "subject": { + "reference": "Patient/example-rec-06-criteria-valid" + }, + "authoredOn": "2018-11-26T07:00:00.000Z", + "dispenseRequest": { + "expectedSupplyDuration": { + "value": 5.0, + "unit": "d" } - ] -} + } + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/example-rec-06-criteria-valid" + } + } ] +} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json b/input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json index 7fbc16f7..44ddd9c4 100644 --- a/input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json +++ b/input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json @@ -1,81 +1,68 @@ { - "resourceType": "Bundle", - "id": "example-rec-06-with-extended-release-for-27-days", - "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-06-with-extended-release-for-27-days", - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], "id": "example-rec-06-with-extended-release-for-27-days", - "birthDate": "2002-04-08" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-06-with-extended-release-for-27-days" - } - }, - { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-06-with-extended-release-for-27-days", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-06-with-extended-release-for-27-days", - "authoredOn": "2018-08-01T00:00:00.0Z", - "status": "active", - "intent": "order", - "subject": { - "reference": "Patient/example-rec-06-with-extended-release-for-27-days" - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet" - } - ] - }, - "dispenseRequest": { - "expectedSupplyDuration": { - "value": 27, - "unit": "d" - } - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-06-with-extended-release-for-27-days" - } + "resourceType": "Bundle", + "id": "example-rec-06-with-extended-release-for-27-days", + "type": "transaction", + "entry": [ { + "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-06-with-extended-release-for-27-days", + "resource": { + "resourceType": "Patient", + "id": "example-rec-06-with-extended-release-for-27-days", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "birthDate": "2002-08-03" + }, + "request": { + "method": "PUT", + "url": "Patient/example-rec-06-with-extended-release-for-27-days" + } + }, { + "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-06-with-extended-release-for-27-days", + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-06-with-extended-release-for-27-days", + "status": "active", + "intent": "order", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "outpatient", + "display": "Outpatient" + } ] + } ], + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet" + } ] + }, + "subject": { + "reference": "Patient/example-rec-06-with-extended-release-for-27-days" + }, + "authoredOn": "2018-08-01T00:00:00.0Z", + "dispenseRequest": { + "expectedSupplyDuration": { + "value": 27, + "unit": "d" } - ] -} + } + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/example-rec-06-with-extended-release-for-27-days" + } + } ] +} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-end-of-life-exclusion.xml b/input/examples/bundle-example-rec-07-end-of-life-exclusion.xml index 0087b914..5f56f325 100644 --- a/input/examples/bundle-example-rec-07-end-of-life-exclusion.xml +++ b/input/examples/bundle-example-rec-07-end-of-life-exclusion.xml @@ -1,70 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-risk-assessment.xml b/input/examples/bundle-example-rec-07-risk-assessment.xml index d93d7ef7..418c7713 100644 --- a/input/examples/bundle-example-rec-07-risk-assessment.xml +++ b/input/examples/bundle-example-rec-07-risk-assessment.xml @@ -1,69 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml b/input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml index 2c868022..68bf05a3 100644 --- a/input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml +++ b/input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml @@ -1,70 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-six-of-past-ten-days.xml b/input/examples/bundle-example-rec-07-six-of-past-ten-days.xml index c304f4a8..0c105843 100644 --- a/input/examples/bundle-example-rec-07-six-of-past-ten-days.xml +++ b/input/examples/bundle-example-rec-07-six-of-past-ten-days.xml @@ -1,69 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml b/input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml index 3530e730..b0fce291 100644 --- a/input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml +++ b/input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml @@ -1,70 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml b/input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml index 2611a100..c8f61fb6 100644 --- a/input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml +++ b/input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml @@ -1,70 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml b/input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml index cc3a3613..a7551d61 100644 --- a/input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml +++ b/input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml @@ -1,70 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-08-mme-less-than-fifty.xml b/input/examples/bundle-example-rec-08-mme-less-than-fifty.xml index dd7056b8..b2424f77 100644 --- a/input/examples/bundle-example-rec-08-mme-less-than-fifty.xml +++ b/input/examples/bundle-example-rec-08-mme-less-than-fifty.xml @@ -1,69 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-08-on-benzodiazepine.xml b/input/examples/bundle-example-rec-08-on-benzodiazepine.xml index 622dcbbf..9dc10f5b 100644 --- a/input/examples/bundle-example-rec-08-on-benzodiazepine.xml +++ b/input/examples/bundle-example-rec-08-on-benzodiazepine.xml @@ -1,69 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-08-on-naloxone.xml b/input/examples/bundle-example-rec-08-on-naloxone.xml index 894db735..ee53fbc9 100644 --- a/input/examples/bundle-example-rec-08-on-naloxone.xml +++ b/input/examples/bundle-example-rec-08-on-naloxone.xml @@ -1,69 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-08-substance-abuse.xml b/input/examples/bundle-example-rec-08-substance-abuse.xml index 2cf72cad..0d267faf 100644 --- a/input/examples/bundle-example-rec-08-substance-abuse.xml +++ b/input/examples/bundle-example-rec-08-substance-abuse.xml @@ -1,69 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json b/input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json index 606d07ed..57e83978 100644 --- a/input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json +++ b/input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json @@ -2,140 +2,116 @@ "resourceType": "Bundle", "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-09-false-due-to-PDMP-review-within-90-days", - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] + "entry": [ { + "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-09-false-due-to-PDMP-review-within-90-days", + "resource": { + "resourceType": "Patient", + "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ], "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", - "birthDate": "2002-04-28" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" - } + } ] + } ], + "birthDate": "2002-08-03" }, - { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Procedure/example-rec-09-false-due-to-PDMP-review-within-90-days", - "resource": { - "resourceType": "Procedure", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] + "request": { + "method": "PUT", + "url": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" + } + }, { + "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Procedure/example-rec-09-false-due-to-PDMP-review-within-90-days", + "resource": { + "resourceType": "Procedure", + "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ], "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", - "status": "completed", - "code": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "461621000124108", - "display": "Review of prescription drug monitoring program record (procedure)" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" - }, - "performedPeriod": { - "start": "2022-02-07", - "end": "2022-02-08" - } + } ] + } ], + "status": "completed", + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "461621000124108", + "display": "Review of prescription drug monitoring program record (procedure)" + } ] }, - "request": { - "method": "PUT", - "url": "Procedure/example-rec-09-false-due-to-PDMP-review-within-90-days" + "subject": { + "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" + }, + "performedPeriod": { + "start": "2022-05-15", + "end": "2022-05-16" } }, - { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/MedicationRequest/example-rec-09-false-due-to-PDMP-review-within-90-days", - "resource": { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", - "authoredOn": "2018-08-01T00:00:00.0Z", - "status": "active", - "intent": "order", - "subject": { - "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } - ] + "request": { + "method": "PUT", + "url": "Procedure/example-rec-09-false-due-to-PDMP-review-within-90-days" + } + }, { + "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/MedicationRequest/example-rec-09-false-due-to-PDMP-review-within-90-days", + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - } + } ] + } ], + "status": "active", + "intent": "order", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "outpatient", + "display": "Outpatient" + } ] + } ], + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } ] }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-09-false-due-to-PDMP-review-within-90-days" - } + "subject": { + "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" + }, + "authoredOn": "2018-11-06T07:00:00.000Z" + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/example-rec-09-false-due-to-PDMP-review-within-90-days" } - ] -} + } ] +} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-09-true-return-recommendations.json b/input/examples/bundle-example-rec-09-true-return-recommendations.json index 70decff7..2e007ebb 100644 --- a/input/examples/bundle-example-rec-09-true-return-recommendations.json +++ b/input/examples/bundle-example-rec-09-true-return-recommendations.json @@ -1,141 +1,117 @@ { - "resourceType": "Bundle", - "id": "example-rec-09-true-return-recommendations", - "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-09-true-return-recommendations", - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], "id": "example-rec-09-true-return-recommendations", - "birthDate": "2002-04-28" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-09-true-return-recommendations" - } - }, - { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Procedure/example-rec-09-true-return-recommendations", - "resource": { - "resourceType": "Procedure", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], "id": "example-rec-09-true-return-recommendations", - "status": "completed", - "code": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "408957008", - "display": "Chronic pain control management (procedure)" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-09-true-return-recommendations" - }, - "performedPeriod": { - "start": "2018-01-01T00:00:00Z", - "end": "2018-01-02T00:00:00Z" - } - }, - "request": { - "method": "PUT", - "url": "Procedure/example-rec-09-true-return-recommendations" - } - }, - { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/MedicationRequest/example-rec-09-true-return-recommendations", - "resource": { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], "id": "example-rec-09-true-return-recommendations", - "authoredOn": "2018-08-01T00:00:00.0Z", - "status": "active", - "intent": "order", - "subject": { - "reference": "Patient/example-rec-09-true-return-recommendations" - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-09-true-return-recommendations" - } - } - ] -} + "resourceType": "Bundle", + "id": "example-rec-09-true-return-recommendations", + "type": "transaction", + "entry": [ { + "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-09-true-return-recommendations", + "resource": { + "resourceType": "Patient", + "id": "example-rec-09-true-return-recommendations", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "birthDate": "2002-08-03" + }, + "request": { + "method": "PUT", + "url": "Patient/example-rec-09-true-return-recommendations" + } + }, { + "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Procedure/example-rec-09-true-return-recommendations", + "resource": { + "resourceType": "Procedure", + "id": "example-rec-09-true-return-recommendations", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "status": "completed", + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "408957008", + "display": "Chronic pain control management (procedure)" + } ] + }, + "subject": { + "reference": "Patient/example-rec-09-true-return-recommendations" + }, + "performedPeriod": { + "start": "2018-04-08T06:00:00Z", + "end": "2018-04-09T06:00:00Z" + } + }, + "request": { + "method": "PUT", + "url": "Procedure/example-rec-09-true-return-recommendations" + } + }, { + "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/MedicationRequest/example-rec-09-true-return-recommendations", + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-09-true-return-recommendations", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "status": "active", + "intent": "order", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "outpatient", + "display": "Outpatient" + } ] + } ], + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } ] + }, + "subject": { + "reference": "Patient/example-rec-09-true-return-recommendations" + }, + "authoredOn": "2018-11-06T07:00:00.000Z" + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/example-rec-09-true-return-recommendations" + } + } ] +} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml b/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml index c821d9cb..820817ea 100644 --- a/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml +++ b/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml @@ -1,74 +1,73 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-illicit-drugs.xml b/input/examples/bundle-example-rec-10-illicit-drugs.xml index 4ce8280c..d05e38d4 100644 --- a/input/examples/bundle-example-rec-10-illicit-drugs.xml +++ b/input/examples/bundle-example-rec-10-illicit-drugs.xml @@ -1,192 +1,191 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-missing-prescribed-opioids.xml b/input/examples/bundle-example-rec-10-missing-prescribed-opioids.xml index d6e7cb48..a40ea023 100644 --- a/input/examples/bundle-example-rec-10-missing-prescribed-opioids.xml +++ b/input/examples/bundle-example-rec-10-missing-prescribed-opioids.xml @@ -1,194 +1,190 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-no-screenings.xml b/input/examples/bundle-example-rec-10-no-screenings.xml index a25409fd..a3bc156b 100644 --- a/input/examples/bundle-example-rec-10-no-screenings.xml +++ b/input/examples/bundle-example-rec-10-no-screenings.xml @@ -1,148 +1,147 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-not-missing-prescribed-opioids.xml b/input/examples/bundle-example-rec-10-not-missing-prescribed-opioids.xml index 0b2603d5..20a8f0cb 100644 --- a/input/examples/bundle-example-rec-10-not-missing-prescribed-opioids.xml +++ b/input/examples/bundle-example-rec-10-not-missing-prescribed-opioids.xml @@ -1,193 +1,190 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-unprescribed-opioids.xml b/input/examples/bundle-example-rec-10-unprescribed-opioids.xml index d2b32c9e..5aa69846 100644 --- a/input/examples/bundle-example-rec-10-unprescribed-opioids.xml +++ b/input/examples/bundle-example-rec-10-unprescribed-opioids.xml @@ -1,237 +1,233 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml b/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml index 4a21226e..d069c110 100644 --- a/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml +++ b/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml @@ -1,149 +1,147 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml b/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml index 1d748d5b..42bf38ce 100644 --- a/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml +++ b/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml @@ -1,35 +1,35 @@ - - + + - + - + - + - - - - + + + + - - + + - - + + - - + + - + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml b/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml index 2806e6d8..ee8a47d5 100644 --- a/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml +++ b/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml @@ -1,149 +1,147 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml b/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml index fab10e03..b93a01ff 100644 --- a/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml +++ b/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml @@ -1,35 +1,35 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/bundle-example-rec-12-criteria-invalid.json b/input/examples/bundle-example-rec-12-criteria-invalid.json index 42eb1fb4..3b650af7 100644 --- a/input/examples/bundle-example-rec-12-criteria-invalid.json +++ b/input/examples/bundle-example-rec-12-criteria-invalid.json @@ -1,79 +1,66 @@ { - "resourceType": "Bundle", - "id": "example-rec-12-criteria-invalid", - "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-12-criteria-invalid", - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], "id": "example-rec-12-criteria-invalid", - "birthDate": "2002-04-28" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-12-criteria-invalid" - } - }, - { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Conditions/example-rec-12-criteria-invalid", - "resource": { - "resourceType": "Condition", - "id": "example-rec-12-criteria-invalid", - "clinicalStatus": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "active", - "display": "Active" - } - ] - }, - "verificationStatus": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", - "code": "confirmed", - "display": "Confirmed" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-12-criteria-invalid" - }, - "code": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "716635007", - "display": "Cognitive communication disorder (disorder)" - } - ] - } - }, - "request": { - "method": "PUT", - "url": "Condition/example-rec-12-criteria-invalid" - } - } - ] -} + "resourceType": "Bundle", + "id": "example-rec-12-criteria-invalid", + "type": "transaction", + "entry": [ { + "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-12-criteria-invalid", + "resource": { + "resourceType": "Patient", + "id": "example-rec-12-criteria-invalid", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } ] + } ], + "birthDate": "2002-08-03" + }, + "request": { + "method": "PUT", + "url": "Patient/example-rec-12-criteria-invalid" + } + }, { + "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Conditions/example-rec-12-criteria-invalid", + "resource": { + "resourceType": "Condition", + "id": "example-rec-12-criteria-invalid", + "clinicalStatus": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "active", + "display": "Active" + } ] + }, + "verificationStatus": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", + "code": "confirmed", + "display": "Confirmed" + } ] + }, + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "716635007", + "display": "Cognitive communication disorder (disorder)" + } ] + }, + "subject": { + "reference": "Patient/example-rec-12-criteria-invalid" + } + }, + "request": { + "method": "PUT", + "url": "Condition/example-rec-12-criteria-invalid" + } + } ] +} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-12-criteria-valid.json b/input/examples/bundle-example-rec-12-criteria-valid.json index 10896b5d..60eefea0 100644 --- a/input/examples/bundle-example-rec-12-criteria-valid.json +++ b/input/examples/bundle-example-rec-12-criteria-valid.json @@ -2,90 +2,72 @@ "resourceType": "Bundle", "id": "example-rec-12-criteria-valid", "type": "transaction", - "entry": [ - { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-12-criteria-valid", - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] + "entry": [ { + "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-12-criteria-valid", + "resource": { + "resourceType": "Patient", + "id": "example-rec-12-criteria-valid", + "extension": [ { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ], - "id": "example-rec-12-criteria-valid", - "birthDate": "2002-04-28" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-12-criteria-valid" - } + } ] + } ], + "birthDate": "2002-08-03" }, - { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Condition/example-rec-12-criteria-valid", - "resource": { - "resourceType": "Condition", - "id": "example-rec-12-criteria-valid", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } - ] - } - ], - "clinicalStatus": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "active", - "display": "Active" - } - ] - }, - "verificationStatus": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", - "code": "confirmed", - "display": "Confirmed" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-12-criteria-valid" - }, - "code": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "191865004", - "display": "Combined opioid with other drug dependence" - } - ] - } + "request": { + "method": "PUT", + "url": "Patient/example-rec-12-criteria-valid" + } + }, { + "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Condition/example-rec-12-criteria-valid", + "resource": { + "resourceType": "Condition", + "id": "example-rec-12-criteria-valid", + "clinicalStatus": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "active", + "display": "Active" + } ] }, - "request": { - "method": "PUT", - "url": "Condition/example-rec-12-criteria-valid" + "verificationStatus": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", + "code": "confirmed", + "display": "Confirmed" + } ] + }, + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" + } ] + } ], + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "191865004", + "display": "Combined opioid with other drug dependence" + } ] + }, + "subject": { + "reference": "Patient/example-rec-12-criteria-valid" } + }, + "request": { + "method": "PUT", + "url": "Condition/example-rec-12-criteria-valid" } - ] -} + } ] +} \ No newline at end of file diff --git a/input/examples/careplan-example-opioidcds.xml b/input/examples/careplan-example-opioidcds.xml index b6079218..1cee3d18 100644 --- a/input/examples/careplan-example-opioidcds.xml +++ b/input/examples/careplan-example-opioidcds.xml @@ -1,13 +1,13 @@ - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-long-acting-opioid-context.xml b/input/examples/encounter-example-rec-04-long-acting-opioid-context.xml index a29e5e06..8f9814e2 100644 --- a/input/examples/encounter-example-rec-04-long-acting-opioid-context.xml +++ b/input/examples/encounter-example-rec-04-long-acting-opioid-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-long-acting-opioid-prefetch.xml b/input/examples/encounter-example-rec-04-long-acting-opioid-prefetch.xml index 4434673c..1f534676 100644 --- a/input/examples/encounter-example-rec-04-long-acting-opioid-prefetch.xml +++ b/input/examples/encounter-example-rec-04-long-acting-opioid-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-new-patient-context.xml b/input/examples/encounter-example-rec-04-new-patient-context.xml index defa97c6..943121b6 100644 --- a/input/examples/encounter-example-rec-04-new-patient-context.xml +++ b/input/examples/encounter-example-rec-04-new-patient-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-not-long-acting-opioid-context.xml b/input/examples/encounter-example-rec-04-not-long-acting-opioid-context.xml index 3157b003..3bd6cbea 100644 --- a/input/examples/encounter-example-rec-04-not-long-acting-opioid-context.xml +++ b/input/examples/encounter-example-rec-04-not-long-acting-opioid-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-not-long-acting-opioid-prefetch.xml b/input/examples/encounter-example-rec-04-not-long-acting-opioid-prefetch.xml index aa749c17..1e3c6aaa 100644 --- a/input/examples/encounter-example-rec-04-not-long-acting-opioid-prefetch.xml +++ b/input/examples/encounter-example-rec-04-not-long-acting-opioid-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-context.xml b/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-context.xml index cb615fcf..b8288762 100644 --- a/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-context.xml +++ b/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-prefetch.xml b/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-prefetch.xml index 7de7bcf3..8160909c 100644 --- a/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-prefetch.xml +++ b/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-prefetch.xml @@ -1,31 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - - - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-05-mme-greater-than-fifty-context.xml b/input/examples/encounter-example-rec-05-mme-greater-than-fifty-context.xml index c93571f0..067ca098 100644 --- a/input/examples/encounter-example-rec-05-mme-greater-than-fifty-context.xml +++ b/input/examples/encounter-example-rec-05-mme-greater-than-fifty-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-05-mme-less-than-fifty-context.xml b/input/examples/encounter-example-rec-05-mme-less-than-fifty-context.xml index 3c324f87..5d608cfc 100644 --- a/input/examples/encounter-example-rec-05-mme-less-than-fifty-context.xml +++ b/input/examples/encounter-example-rec-05-mme-less-than-fifty-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-end-of-life-exclusion-context.xml b/input/examples/encounter-example-rec-07-end-of-life-exclusion-context.xml index 57f99713..82f8e0e5 100644 --- a/input/examples/encounter-example-rec-07-end-of-life-exclusion-context.xml +++ b/input/examples/encounter-example-rec-07-end-of-life-exclusion-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-end-of-life-exclusion-prefetch.xml b/input/examples/encounter-example-rec-07-end-of-life-exclusion-prefetch.xml index c361db33..f9eaf763 100644 --- a/input/examples/encounter-example-rec-07-end-of-life-exclusion-prefetch.xml +++ b/input/examples/encounter-example-rec-07-end-of-life-exclusion-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-risk-assessment-context.xml b/input/examples/encounter-example-rec-07-risk-assessment-context.xml index baf8eedf..0f6f6ce9 100644 --- a/input/examples/encounter-example-rec-07-risk-assessment-context.xml +++ b/input/examples/encounter-example-rec-07-risk-assessment-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-risk-assessment-prefetch.xml b/input/examples/encounter-example-rec-07-risk-assessment-prefetch.xml index 82c1cd8b..d090c43f 100644 --- a/input/examples/encounter-example-rec-07-risk-assessment-prefetch.xml +++ b/input/examples/encounter-example-rec-07-risk-assessment-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-seven-of-past-ten-days-context.xml b/input/examples/encounter-example-rec-07-seven-of-past-ten-days-context.xml index 4b7155ef..b9bfe115 100644 --- a/input/examples/encounter-example-rec-07-seven-of-past-ten-days-context.xml +++ b/input/examples/encounter-example-rec-07-seven-of-past-ten-days-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-seven-of-past-ten-days-prefetch.xml b/input/examples/encounter-example-rec-07-seven-of-past-ten-days-prefetch.xml index 8b72a58e..3261cf36 100644 --- a/input/examples/encounter-example-rec-07-seven-of-past-ten-days-prefetch.xml +++ b/input/examples/encounter-example-rec-07-seven-of-past-ten-days-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-six-of-past-ten-days-context.xml b/input/examples/encounter-example-rec-07-six-of-past-ten-days-context.xml index 7c13416f..21391f60 100644 --- a/input/examples/encounter-example-rec-07-six-of-past-ten-days-context.xml +++ b/input/examples/encounter-example-rec-07-six-of-past-ten-days-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-six-of-past-ten-days-prefetch.xml b/input/examples/encounter-example-rec-07-six-of-past-ten-days-prefetch.xml index 430f9da3..1c34f80a 100644 --- a/input/examples/encounter-example-rec-07-six-of-past-ten-days-prefetch.xml +++ b/input/examples/encounter-example-rec-07-six-of-past-ten-days-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-context.xml b/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-context.xml index 677e8e1d..52b639b3 100644 --- a/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-context.xml +++ b/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml b/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml index 3ece97cc..22fb08da 100644 --- a/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml +++ b/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-context.xml b/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-context.xml index b6d4e4e3..95e01473 100644 --- a/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-context.xml +++ b/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml b/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml index 82b9c6b7..cd2fd109 100644 --- a/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml +++ b/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-mme-greater-than-fifty-context.xml b/input/examples/encounter-example-rec-08-mme-greater-than-fifty-context.xml index 92a84e44..9124d534 100644 --- a/input/examples/encounter-example-rec-08-mme-greater-than-fifty-context.xml +++ b/input/examples/encounter-example-rec-08-mme-greater-than-fifty-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-mme-less-than-fifty-context.xml b/input/examples/encounter-example-rec-08-mme-less-than-fifty-context.xml index fd66cd30..9c1914ec 100644 --- a/input/examples/encounter-example-rec-08-mme-less-than-fifty-context.xml +++ b/input/examples/encounter-example-rec-08-mme-less-than-fifty-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-on-benzodiazepine-context.xml b/input/examples/encounter-example-rec-08-on-benzodiazepine-context.xml index 3c267f96..6e095bea 100644 --- a/input/examples/encounter-example-rec-08-on-benzodiazepine-context.xml +++ b/input/examples/encounter-example-rec-08-on-benzodiazepine-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-on-benzodiazepine-prefetch.xml b/input/examples/encounter-example-rec-08-on-benzodiazepine-prefetch.xml index ae5f6414..25b0609a 100644 --- a/input/examples/encounter-example-rec-08-on-benzodiazepine-prefetch.xml +++ b/input/examples/encounter-example-rec-08-on-benzodiazepine-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-on-naloxone-context.xml b/input/examples/encounter-example-rec-08-on-naloxone-context.xml index f4731f44..9b09685e 100644 --- a/input/examples/encounter-example-rec-08-on-naloxone-context.xml +++ b/input/examples/encounter-example-rec-08-on-naloxone-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-on-naloxone-prefetch.xml b/input/examples/encounter-example-rec-08-on-naloxone-prefetch.xml index 645380ae..f5f3b3c4 100644 --- a/input/examples/encounter-example-rec-08-on-naloxone-prefetch.xml +++ b/input/examples/encounter-example-rec-08-on-naloxone-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-substance-abuse-context.xml b/input/examples/encounter-example-rec-08-substance-abuse-context.xml index 594740aa..11961bd3 100644 --- a/input/examples/encounter-example-rec-08-substance-abuse-context.xml +++ b/input/examples/encounter-example-rec-08-substance-abuse-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-end-of-life-med-exclusion-context.xml b/input/examples/encounter-example-rec-10-end-of-life-med-exclusion-context.xml index 802692bb..3a5c4026 100644 --- a/input/examples/encounter-example-rec-10-end-of-life-med-exclusion-context.xml +++ b/input/examples/encounter-example-rec-10-end-of-life-med-exclusion-context.xml @@ -1,29 +1,29 @@ - + - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-illicit-drugs-context.xml b/input/examples/encounter-example-rec-10-illicit-drugs-context.xml index ff821df6..b5803eaf 100644 --- a/input/examples/encounter-example-rec-10-illicit-drugs-context.xml +++ b/input/examples/encounter-example-rec-10-illicit-drugs-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-illicit-drugs-prefetch.xml b/input/examples/encounter-example-rec-10-illicit-drugs-prefetch.xml index c77301ba..61f9ea8f 100644 --- a/input/examples/encounter-example-rec-10-illicit-drugs-prefetch.xml +++ b/input/examples/encounter-example-rec-10-illicit-drugs-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-missing-prescribed-opioids-context.xml b/input/examples/encounter-example-rec-10-missing-prescribed-opioids-context.xml index e1eb6268..e995e336 100644 --- a/input/examples/encounter-example-rec-10-missing-prescribed-opioids-context.xml +++ b/input/examples/encounter-example-rec-10-missing-prescribed-opioids-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-missing-prescribed-opioids-prefetch.xml b/input/examples/encounter-example-rec-10-missing-prescribed-opioids-prefetch.xml index 542a7275..a925c342 100644 --- a/input/examples/encounter-example-rec-10-missing-prescribed-opioids-prefetch.xml +++ b/input/examples/encounter-example-rec-10-missing-prescribed-opioids-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-no-screenings-context.xml b/input/examples/encounter-example-rec-10-no-screenings-context.xml index 86e92f8c..aa2b0b4d 100644 --- a/input/examples/encounter-example-rec-10-no-screenings-context.xml +++ b/input/examples/encounter-example-rec-10-no-screenings-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-no-screenings-prefetch.xml b/input/examples/encounter-example-rec-10-no-screenings-prefetch.xml index 5b8d2ff0..8a4ad8ff 100644 --- a/input/examples/encounter-example-rec-10-no-screenings-prefetch.xml +++ b/input/examples/encounter-example-rec-10-no-screenings-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-context.xml b/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-context.xml index c77cd476..996f5ba6 100644 --- a/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-context.xml +++ b/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-prefetch.xml b/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-prefetch.xml index 280f4ed1..1a46d6b0 100644 --- a/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-prefetch.xml +++ b/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-unprescribed-opioids-context.xml b/input/examples/encounter-example-rec-10-unprescribed-opioids-context.xml index 0764f71e..cc8752e5 100644 --- a/input/examples/encounter-example-rec-10-unprescribed-opioids-context.xml +++ b/input/examples/encounter-example-rec-10-unprescribed-opioids-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-unprescribed-opioids-prefetch.xml b/input/examples/encounter-example-rec-10-unprescribed-opioids-prefetch.xml index 716932ba..1c10f584 100644 --- a/input/examples/encounter-example-rec-10-unprescribed-opioids-prefetch.xml +++ b/input/examples/encounter-example-rec-10-unprescribed-opioids-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-context.xml b/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-context.xml index 201417f9..49e5b2e6 100644 --- a/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-context.xml +++ b/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-prefetch.xml b/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-prefetch.xml index 3f2489f5..8f18ad5a 100644 --- a/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-prefetch.xml +++ b/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-benzo-trigger-without-opioid-context.xml b/input/examples/encounter-example-rec-11-benzo-trigger-without-opioid-context.xml index 351f4f1f..95c918fb 100644 --- a/input/examples/encounter-example-rec-11-benzo-trigger-without-opioid-context.xml +++ b/input/examples/encounter-example-rec-11-benzo-trigger-without-opioid-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-context.xml b/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-context.xml index ca8db1db..fe7f7b73 100644 --- a/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-context.xml +++ b/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-prefetch.xml b/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-prefetch.xml index fa9997fe..c9a8a4d7 100644 --- a/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-prefetch.xml +++ b/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-prefetch.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-opioid-trigger-without-benzo-context.xml b/input/examples/encounter-example-rec-11-opioid-trigger-without-benzo-context.xml index 619d3cb3..47c8aa28 100644 --- a/input/examples/encounter-example-rec-11-opioid-trigger-without-benzo-context.xml +++ b/input/examples/encounter-example-rec-11-opioid-trigger-without-benzo-context.xml @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-opioidcds.xml b/input/examples/medicationrequest-example-opioidcds.xml index 095a9c3f..9444d94f 100644 --- a/input/examples/medicationrequest-example-opioidcds.xml +++ b/input/examples/medicationrequest-example-opioidcds.xml @@ -1,68 +1,66 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-04-long-acting-opioid-prefetch.xml b/input/examples/medicationrequest-example-rec-04-long-acting-opioid-prefetch.xml index 796091ca..141bb8c4 100644 --- a/input/examples/medicationrequest-example-rec-04-long-acting-opioid-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-04-long-acting-opioid-prefetch.xml @@ -1,59 +1,59 @@ - + - + - - - - + + + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-04-not-long-acting-opioid-prefetch.xml b/input/examples/medicationrequest-example-rec-04-not-long-acting-opioid-prefetch.xml index fced898e..151fca71 100644 --- a/input/examples/medicationrequest-example-rec-04-not-long-acting-opioid-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-04-not-long-acting-opioid-prefetch.xml @@ -1,59 +1,59 @@ - + - + - - - - + + + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-04-opioid-with-abuse-potential-prefetch.xml b/input/examples/medicationrequest-example-rec-04-opioid-with-abuse-potential-prefetch.xml index dd36a1ba..52e18895 100644 --- a/input/examples/medicationrequest-example-rec-04-opioid-with-abuse-potential-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-04-opioid-with-abuse-potential-prefetch.xml @@ -1,59 +1,59 @@ - + - + - - - - + + + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-07-end-of-life-exclusion-prefetch.xml b/input/examples/medicationrequest-example-rec-07-end-of-life-exclusion-prefetch.xml index 6b52b82b..f557ba13 100644 --- a/input/examples/medicationrequest-example-rec-07-end-of-life-exclusion-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-07-end-of-life-exclusion-prefetch.xml @@ -1,66 +1,65 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-07-seven-of-past-ten-days-prefetch.xml b/input/examples/medicationrequest-example-rec-07-seven-of-past-ten-days-prefetch.xml index 53a20991..888c4157 100644 --- a/input/examples/medicationrequest-example-rec-07-seven-of-past-ten-days-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-07-seven-of-past-ten-days-prefetch.xml @@ -1,65 +1,65 @@ - + - + - - - - + + + + - - + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-07-six-of-past-ten-days-prefetch.xml b/input/examples/medicationrequest-example-rec-07-six-of-past-ten-days-prefetch.xml index a5e07fb7..21c62d09 100644 --- a/input/examples/medicationrequest-example-rec-07-six-of-past-ten-days-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-07-six-of-past-ten-days-prefetch.xml @@ -1,65 +1,65 @@ - + - + - - - - + + + + - - + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml b/input/examples/medicationrequest-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml index fcb57d4f..99669450 100644 --- a/input/examples/medicationrequest-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml @@ -1,65 +1,65 @@ - + - + - - - - + + + + - - + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml b/input/examples/medicationrequest-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml index 90c2fc97..f5fad614 100644 --- a/input/examples/medicationrequest-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml @@ -1,65 +1,65 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-08-on-benzodiazepine-prefetch.xml b/input/examples/medicationrequest-example-rec-08-on-benzodiazepine-prefetch.xml index bbd3a75c..5d018041 100644 --- a/input/examples/medicationrequest-example-rec-08-on-benzodiazepine-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-08-on-benzodiazepine-prefetch.xml @@ -1,65 +1,65 @@ - + - + - - - - + + + + - - + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-08-on-naloxone-prefetch.xml b/input/examples/medicationrequest-example-rec-08-on-naloxone-prefetch.xml index e2fff9a0..7fcbfbac 100644 --- a/input/examples/medicationrequest-example-rec-08-on-naloxone-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-08-on-naloxone-prefetch.xml @@ -1,65 +1,65 @@ - + - + - - - - + + + + - - + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-10-illicit-drugs-prefetch.xml b/input/examples/medicationrequest-example-rec-10-illicit-drugs-prefetch.xml index bef0c537..e0dadd05 100644 --- a/input/examples/medicationrequest-example-rec-10-illicit-drugs-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-10-illicit-drugs-prefetch.xml @@ -1,65 +1,65 @@ - + - + - - - - + + + + - - + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-10-missing-prescribed-opioids-prefetch.xml b/input/examples/medicationrequest-example-rec-10-missing-prescribed-opioids-prefetch.xml index 6655bcac..52275b28 100644 --- a/input/examples/medicationrequest-example-rec-10-missing-prescribed-opioids-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-10-missing-prescribed-opioids-prefetch.xml @@ -1,65 +1,65 @@ - + - + - - - - + + + + - - + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-10-no-screenings-prefetch.xml b/input/examples/medicationrequest-example-rec-10-no-screenings-prefetch.xml index 6d138b7c..0d8b6e7a 100644 --- a/input/examples/medicationrequest-example-rec-10-no-screenings-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-10-no-screenings-prefetch.xml @@ -1,65 +1,65 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-10-not-missing-prescribed-opioids-prefetch.xml b/input/examples/medicationrequest-example-rec-10-not-missing-prescribed-opioids-prefetch.xml index 898823e4..deaa2dcf 100644 --- a/input/examples/medicationrequest-example-rec-10-not-missing-prescribed-opioids-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-10-not-missing-prescribed-opioids-prefetch.xml @@ -1,64 +1,65 @@ - + - + - - - - + + + + - - + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - - + + + + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-10-unprescribed-opioids-prefetch.xml b/input/examples/medicationrequest-example-rec-10-unprescribed-opioids-prefetch.xml index 6db78eba..c0d21b5f 100644 --- a/input/examples/medicationrequest-example-rec-10-unprescribed-opioids-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-10-unprescribed-opioids-prefetch.xml @@ -1,65 +1,65 @@ - + - + - - - - + + + + - - + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-11-benzo-trigger-with-opioid-prefetch.xml b/input/examples/medicationrequest-example-rec-11-benzo-trigger-with-opioid-prefetch.xml index 01bce968..c14a54bc 100644 --- a/input/examples/medicationrequest-example-rec-11-benzo-trigger-with-opioid-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-11-benzo-trigger-with-opioid-prefetch.xml @@ -1,65 +1,65 @@ - + - + - - - - + + + + - - + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-11-opioid-trigger-with-benzo-prefetch.xml b/input/examples/medicationrequest-example-rec-11-opioid-trigger-with-benzo-prefetch.xml index d92ddb08..2937f112 100644 --- a/input/examples/medicationrequest-example-rec-11-opioid-trigger-with-benzo-prefetch.xml +++ b/input/examples/medicationrequest-example-rec-11-opioid-trigger-with-benzo-prefetch.xml @@ -1,65 +1,65 @@ - + - + - - - - + + + + - - + + - - + + - - - + + + - + - + - + - - - + + + - + - - - - + + + + - - + + - + - - + + - + \ No newline at end of file diff --git a/input/examples/observation-example-opioidcds.xml b/input/examples/observation-example-opioidcds.xml index 32f9e247..cd8c52b3 100644 --- a/input/examples/observation-example-opioidcds.xml +++ b/input/examples/observation-example-opioidcds.xml @@ -1,33 +1,33 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/observation-example-rec-10-illicit-drugs-prefetch.xml b/input/examples/observation-example-rec-10-illicit-drugs-prefetch.xml index 94af5c32..f355b34f 100644 --- a/input/examples/observation-example-rec-10-illicit-drugs-prefetch.xml +++ b/input/examples/observation-example-rec-10-illicit-drugs-prefetch.xml @@ -1,34 +1,34 @@ - + - + - - - - + + + + - + - - - + + + - + - + - - + + - + \ No newline at end of file diff --git a/input/examples/observation-example-rec-10-missing-prescribed-opioids-prefetch.xml b/input/examples/observation-example-rec-10-missing-prescribed-opioids-prefetch.xml index 24dbd43e..477495bf 100644 --- a/input/examples/observation-example-rec-10-missing-prescribed-opioids-prefetch.xml +++ b/input/examples/observation-example-rec-10-missing-prescribed-opioids-prefetch.xml @@ -1,34 +1,34 @@ - + - + - - - - + + + + - + - - - + + + - + - + - - + + - + \ No newline at end of file diff --git a/input/examples/observation-example-rec-10-not-missing-prescribed-opioids-prefetch.xml b/input/examples/observation-example-rec-10-not-missing-prescribed-opioids-prefetch.xml index a3fd15cf..e0c7623e 100644 --- a/input/examples/observation-example-rec-10-not-missing-prescribed-opioids-prefetch.xml +++ b/input/examples/observation-example-rec-10-not-missing-prescribed-opioids-prefetch.xml @@ -1,34 +1,34 @@ - + - + - - - - + + + + - + - - - + + + - + - + - - + + - + \ No newline at end of file diff --git a/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-codeine.xml b/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-codeine.xml index 1fe551fb..19060d79 100644 --- a/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-codeine.xml +++ b/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-codeine.xml @@ -1,34 +1,34 @@ - + - + - - - - + + + + - + - - - + + + - + - + - - + + - + \ No newline at end of file diff --git a/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-oxycodone.xml b/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-oxycodone.xml index d8b4b6a0..a6ab325c 100644 --- a/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-oxycodone.xml +++ b/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-oxycodone.xml @@ -1,34 +1,34 @@ - + - + - - - - + + + + - + - - - + + + - + - + - - + + - + \ No newline at end of file diff --git a/input/examples/patient-example-opioidcds.xml b/input/examples/patient-example-opioidcds.xml index b043e782..4b565c83 100644 --- a/input/examples/patient-example-opioidcds.xml +++ b/input/examples/patient-example-opioidcds.xml @@ -1,31 +1,31 @@ - - - - - - - - - - - - - - - - - - - - -

- - - - - - - -
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
\ No newline at end of file diff --git a/input/examples/patient-example-rec-04-long-acting-opioid.xml b/input/examples/patient-example-rec-04-long-acting-opioid.xml index 3ca8ea80..b773ba7f 100644 --- a/input/examples/patient-example-rec-04-long-acting-opioid.xml +++ b/input/examples/patient-example-rec-04-long-acting-opioid.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-04-new-patient.xml b/input/examples/patient-example-rec-04-new-patient.xml index 1ab49c95..be5a409a 100644 --- a/input/examples/patient-example-rec-04-new-patient.xml +++ b/input/examples/patient-example-rec-04-new-patient.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-04-not-long-acting-opioid.xml b/input/examples/patient-example-rec-04-not-long-acting-opioid.xml index e6cc4b02..b559dac9 100644 --- a/input/examples/patient-example-rec-04-not-long-acting-opioid.xml +++ b/input/examples/patient-example-rec-04-not-long-acting-opioid.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-04-opioid-with-abuse-potential.xml b/input/examples/patient-example-rec-04-opioid-with-abuse-potential.xml index 25af0eea..f9787682 100644 --- a/input/examples/patient-example-rec-04-opioid-with-abuse-potential.xml +++ b/input/examples/patient-example-rec-04-opioid-with-abuse-potential.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-05-mme-greater-than-fifty.xml b/input/examples/patient-example-rec-05-mme-greater-than-fifty.xml index 1d158acf..19ba3fd6 100644 --- a/input/examples/patient-example-rec-05-mme-greater-than-fifty.xml +++ b/input/examples/patient-example-rec-05-mme-greater-than-fifty.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-05-mme-less-than-fifty.xml b/input/examples/patient-example-rec-05-mme-less-than-fifty.xml index 24a0b703..ba63b1fd 100644 --- a/input/examples/patient-example-rec-05-mme-less-than-fifty.xml +++ b/input/examples/patient-example-rec-05-mme-less-than-fifty.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-end-of-life-exclusion.xml b/input/examples/patient-example-rec-07-end-of-life-exclusion.xml index 8a400d77..4e3231e2 100644 --- a/input/examples/patient-example-rec-07-end-of-life-exclusion.xml +++ b/input/examples/patient-example-rec-07-end-of-life-exclusion.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-risk-assessment.xml b/input/examples/patient-example-rec-07-risk-assessment.xml index 3183ecb1..2b0ccc4f 100644 --- a/input/examples/patient-example-rec-07-risk-assessment.xml +++ b/input/examples/patient-example-rec-07-risk-assessment.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-seven-of-past-ten-days.xml b/input/examples/patient-example-rec-07-seven-of-past-ten-days.xml index 4d2e6119..5ab33057 100644 --- a/input/examples/patient-example-rec-07-seven-of-past-ten-days.xml +++ b/input/examples/patient-example-rec-07-seven-of-past-ten-days.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-six-of-past-ten-days.xml b/input/examples/patient-example-rec-07-six-of-past-ten-days.xml index edc9296d..e6d2230c 100644 --- a/input/examples/patient-example-rec-07-six-of-past-ten-days.xml +++ b/input/examples/patient-example-rec-07-six-of-past-ten-days.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-sixtythree-of-past-ninety-days.xml b/input/examples/patient-example-rec-07-sixtythree-of-past-ninety-days.xml index 93db59f5..0689fe5c 100644 --- a/input/examples/patient-example-rec-07-sixtythree-of-past-ninety-days.xml +++ b/input/examples/patient-example-rec-07-sixtythree-of-past-ninety-days.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-sixtytwo-of-past-ninety-days.xml b/input/examples/patient-example-rec-07-sixtytwo-of-past-ninety-days.xml index d8590db6..3a3ddc4f 100644 --- a/input/examples/patient-example-rec-07-sixtytwo-of-past-ninety-days.xml +++ b/input/examples/patient-example-rec-07-sixtytwo-of-past-ninety-days.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-08-mme-greater-than-fifty.xml b/input/examples/patient-example-rec-08-mme-greater-than-fifty.xml index 34dd7230..45c99a73 100644 --- a/input/examples/patient-example-rec-08-mme-greater-than-fifty.xml +++ b/input/examples/patient-example-rec-08-mme-greater-than-fifty.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-08-mme-less-than-fifty.xml b/input/examples/patient-example-rec-08-mme-less-than-fifty.xml index 98f3c0a1..ffe15835 100644 --- a/input/examples/patient-example-rec-08-mme-less-than-fifty.xml +++ b/input/examples/patient-example-rec-08-mme-less-than-fifty.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-08-on-benzodiazepine.xml b/input/examples/patient-example-rec-08-on-benzodiazepine.xml index 252ba383..24ffbea3 100644 --- a/input/examples/patient-example-rec-08-on-benzodiazepine.xml +++ b/input/examples/patient-example-rec-08-on-benzodiazepine.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-08-on-naloxone.xml b/input/examples/patient-example-rec-08-on-naloxone.xml index c301e0f4..77ab2248 100644 --- a/input/examples/patient-example-rec-08-on-naloxone.xml +++ b/input/examples/patient-example-rec-08-on-naloxone.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-08-substance-abuse.xml b/input/examples/patient-example-rec-08-substance-abuse.xml index b25e8d99..7d97ea3b 100644 --- a/input/examples/patient-example-rec-08-substance-abuse.xml +++ b/input/examples/patient-example-rec-08-substance-abuse.xml @@ -1,18 +1,18 @@ - + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-end-of-life-med-exclusion.xml b/input/examples/patient-example-rec-10-end-of-life-med-exclusion.xml index 6819cb48..32f052ad 100644 --- a/input/examples/patient-example-rec-10-end-of-life-med-exclusion.xml +++ b/input/examples/patient-example-rec-10-end-of-life-med-exclusion.xml @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-illicit-drugs.xml b/input/examples/patient-example-rec-10-illicit-drugs.xml index 1d000002..ffbd540c 100644 --- a/input/examples/patient-example-rec-10-illicit-drugs.xml +++ b/input/examples/patient-example-rec-10-illicit-drugs.xml @@ -1,23 +1,23 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - + + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-missing-prescribed-opioids.xml b/input/examples/patient-example-rec-10-missing-prescribed-opioids.xml index 3c8e1c76..0bdb447e 100644 --- a/input/examples/patient-example-rec-10-missing-prescribed-opioids.xml +++ b/input/examples/patient-example-rec-10-missing-prescribed-opioids.xml @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-no-screenings.xml b/input/examples/patient-example-rec-10-no-screenings.xml index b9c7ebaa..e6e6375e 100644 --- a/input/examples/patient-example-rec-10-no-screenings.xml +++ b/input/examples/patient-example-rec-10-no-screenings.xml @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-not-missing-prescribed-opioids.xml b/input/examples/patient-example-rec-10-not-missing-prescribed-opioids.xml index d5911055..89c85c1b 100644 --- a/input/examples/patient-example-rec-10-not-missing-prescribed-opioids.xml +++ b/input/examples/patient-example-rec-10-not-missing-prescribed-opioids.xml @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-unprescribed-opioids.xml b/input/examples/patient-example-rec-10-unprescribed-opioids.xml index 00572e1d..9c644a39 100644 --- a/input/examples/patient-example-rec-10-unprescribed-opioids.xml +++ b/input/examples/patient-example-rec-10-unprescribed-opioids.xml @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-11-benzo-trigger-with-opioid.xml b/input/examples/patient-example-rec-11-benzo-trigger-with-opioid.xml index 81c9e552..7d663a96 100644 --- a/input/examples/patient-example-rec-11-benzo-trigger-with-opioid.xml +++ b/input/examples/patient-example-rec-11-benzo-trigger-with-opioid.xml @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-11-benzo-trigger-without-opioid.xml b/input/examples/patient-example-rec-11-benzo-trigger-without-opioid.xml index 20039cfb..6656a072 100644 --- a/input/examples/patient-example-rec-11-benzo-trigger-without-opioid.xml +++ b/input/examples/patient-example-rec-11-benzo-trigger-without-opioid.xml @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-11-opioid-trigger-with-benzo.xml b/input/examples/patient-example-rec-11-opioid-trigger-with-benzo.xml index 163a9c38..fa7cef39 100644 --- a/input/examples/patient-example-rec-11-opioid-trigger-with-benzo.xml +++ b/input/examples/patient-example-rec-11-opioid-trigger-with-benzo.xml @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/input/examples/patient-example-rec-11-opioid-trigger-without-benzo.xml b/input/examples/patient-example-rec-11-opioid-trigger-without-benzo.xml index f1d21b98..c1b33aca 100644 --- a/input/examples/patient-example-rec-11-opioid-trigger-without-benzo.xml +++ b/input/examples/patient-example-rec-11-opioid-trigger-without-benzo.xml @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/input/examples/procedure-example-rec-07-risk-assessment-prefetch.xml b/input/examples/procedure-example-rec-07-risk-assessment-prefetch.xml index 5ad9467a..2eb43518 100644 --- a/input/examples/procedure-example-rec-07-risk-assessment-prefetch.xml +++ b/input/examples/procedure-example-rec-07-risk-assessment-prefetch.xml @@ -1,34 +1,34 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - + + - - + + - + \ No newline at end of file diff --git a/input/examples/requestgroup-example-opioidcds.xml b/input/examples/requestgroup-example-opioidcds.xml index 77b4da05..cfbed546 100644 --- a/input/examples/requestgroup-example-opioidcds.xml +++ b/input/examples/requestgroup-example-opioidcds.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - <description value="Total morphine milligram equivalent (MME) is 179.99999820mg/d. Taper to less than 50."/> - <documentation> - <type value="documentation"/> - <display value="CDC guideline for prescribing opioids for chronic pain"/> - <url value="https://www.cdc.gov/mmwr/volumes/65/rr/rr6501e1.htm?CDC_AA_refVal=https%3A%2F%2Fwww.cdc.gov%2Fmmwr%2Fvolumes%2F65%2Frr%2Frr6501e1er.htm"/> - </documentation> - <documentation> - <type value="documentation"/> - <display value="MME Conversion Tables"/> - <url value="https://www.cdc.gov/drugoverdose/pdf/calculating_total_daily_dose-a.pdf"/> - </documentation> - </action> - </action> + <id value="example-opioidcds"></id> + <status value="active"></status> + <intent value="proposal"></intent> + <action> + <selectionBehavior value="any"></selectionBehavior> + <action> + <extension url="http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/cdc-requestgroup-action-indicator"> + <valueCode value="warning"></valueCode> + </extension> + <title value="High risk for opioid overdose - taper now"> + + + + + + + + + + + + + \ No newline at end of file diff --git a/input/pagecontent/requests/HelloWorld/HelloWorld.json b/input/pagecontent/requests/HelloWorld/HelloWorld.json index b9e75cf4..4f7760b1 100644 --- a/input/pagecontent/requests/HelloWorld/HelloWorld.json +++ b/input/pagecontent/requests/HelloWorld/HelloWorld.json @@ -5,5 +5,6 @@ "context": { "userId": "Practitioner/example", "patientId": "Patient/hello-world-patient" - } + }, + "prefetch": {} } \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json index 4161d07b..21d5f9bf 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json @@ -10,13 +10,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "05f8cb26-2eb6-4124-b65d-bb1f13e21c49", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -30,18 +31,19 @@ ] } ], - "id": "05f8cb26-2eb6-4124-b65d-bb1f13e21c49", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-01-in-outpatient-opioid-context" }, - "authoredOn": "2022-04-08", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -67,17 +69,13 @@ "periodUnit": "d" } }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "film" - } + "asNeededBoolean": false } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -96,13 +94,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-01-true-make-recommendations", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -116,8 +115,7 @@ ] } ], - "id": "example-rec-01-true-make-recommendations", - "birthDate": "2002-04-08" + "birthDate": "2002-08-03" } }, "item3": null, @@ -130,13 +128,14 @@ }, "resource": { "resourceType": "MedicationStatement", + "id": "cabc72ea-c67d-4b87-be3b-e79bc39015eb", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -150,7 +149,6 @@ ] } ], - "id": "cabc72ea-c67d-4b87-be3b-e79bc39015eb", "status": "active", "medicationCodeableConcept": { "coding": [ @@ -164,11 +162,11 @@ "subject": { "reference": "Patient/8119002c-6322-4d16-988b-36bb6d9b3940-1" }, - "effectiveDateTime": "2022-01-03" + "effectiveDateTime": "2022-04-30" } }, "item8": null, "item9": null, "item10": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json index 50bbeed8..f34d7627 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json @@ -5,18 +5,19 @@ "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-01-false-due-to-inpatient-opioid", - "selections": [ - "MedicationRequest/4d2b4402-022e-4f69-813e-ab16934286a6" + "selections": [ + "MedicationRequest/4d2b4402-022e-4f69-813e-ab16934286a6" ], - "draftOrders":{ + "draftOrders": { "resourceType": "MedicationRequest", + "id": "4d2b4402-022e-4f69-813e-ab16934286a6", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -30,18 +31,19 @@ ] } ], - "id": "4d2b4402-022e-4f69-813e-ab16934286a6", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "inpatient", - "display": "Inpatient" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "inpatient", + "display": "Inpatient" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-01-in-inpatient-opioid-context" }, - "authoredOn": "2022-04-08", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -67,17 +69,13 @@ "periodUnit": "d" } }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "film" - } + "asNeededBoolean": false } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -96,13 +94,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-01-false-due-to-inpatient-opioid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -116,8 +115,7 @@ ] } ], - "id": "example-rec-01-false-due-to-inpatient-opioid", - "birthDate": "2002-04-08" + "birthDate": "2002-08-03" } }, "item2": null, @@ -130,4 +128,4 @@ "item9": null, "item10": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json index 446b0917..97af160c 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json @@ -5,34 +5,36 @@ "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-02-true-make-recommendations", - "selections": [ "MedicationRequest/222b5b54-1efe-4733-bec9-313e97f16051" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "selections": [ + "MedicationRequest/222b5b54-1efe-4733-bec9-313e97f16051" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "222b5b54-1efe-4733-bec9-313e97f16051", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - } - ], - "id": "222b5b54-1efe-4733-bec9-313e97f16051", - "status": "active", - "intent": "order", - "category": { + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", @@ -40,53 +42,50 @@ "display": "Community" } ] - }, - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-02-true-make-recommendations" - }, - "encounter": { - "reference": "Encounter/example-rec-02-in-careplan-revisited-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "film" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" + ] + }, + "subject": { + "reference": "Patient/example-rec-02-true-make-recommendations" + }, + "encounter": { + "reference": "Encounter/example-rec-02-in-careplan-revisited-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -95,13 +94,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-02-true-make-recommendations", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -115,8 +115,7 @@ ] } ], - "id": "example-rec-02-true-make-recommendations", - "birthDate": "2002-04-08" + "birthDate": "2002-08-03" } }, "item2": { @@ -125,13 +124,17 @@ }, "resource": { "resourceType": "CarePlan", + "id": "1446d540-3b44-4af9-934b-3a694d8abffc", + "meta": { + "lastUpdated": "2021-12-09" + }, "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -144,16 +147,13 @@ } ] } - ], "id": "1446d540-3b44-4af9-934b-3a694d8abffc", - "meta": { - "lastUpdated":"2021-12-09" - }, + ], "status": "active", "intent": "plan", "subject": { "reference": "Patient/example-rec-02-true-make-recommendations" }, - "created": "2021-11-09", + "created": "2022-03-06", "author": { "reference": "Practitioner/example" } @@ -168,4 +168,4 @@ "item9": null, "item10": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json index 290090a5..127721ab 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json @@ -9,31 +9,32 @@ "MedicationRequest/a6590d30-c320-4016-861f-678f9f87bca5" ], "draftOrders": { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "resourceType": "MedicationRequest", + "id": "a6590d30-c320-4016-861f-678f9f87bca5", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - } - ], - "id": "a6590d30-c320-4016-861f-678f9f87bca5", - "status": "active", - "intent": "order", - "category": { + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", @@ -41,53 +42,50 @@ "display": "Community" } ] - }, - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" - }, - "encounter": { - "reference": "Encounter/example-rec-02-out-careplan-not-revisited-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "film" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" + ] + }, + "subject": { + "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" + }, + "encounter": { + "reference": "Encounter/example-rec-02-out-careplan-not-revisited-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -96,13 +94,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-02-false-due-to-careplan-within-90-days", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -116,8 +115,7 @@ ] } ], - "id": "example-rec-02-false-due-to-careplan-within-90-days", - "birthDate": "2002-04-08" + "birthDate": "2002-08-03" } }, "item2": { @@ -126,13 +124,17 @@ }, "resource": { "resourceType": "CarePlan", + "id": "f4a02a0e-ce41-457f-92aa-c46a6402d450", + "meta": { + "lastUpdated": "2022-01-09" + }, "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -146,16 +148,12 @@ ] } ], - "id": "f4a02a0e-ce41-457f-92aa-c46a6402d450", - "meta": { - "lastUpdated": "2022-01-09" - }, "status": "active", "intent": "plan", "subject": { "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" }, - "created": "2021-12-09", + "created": "2022-04-05", "author": { "reference": "Practitioner/example" } @@ -170,4 +168,4 @@ "item9": null, "item10": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json index 6b2717c7..65140738 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json @@ -8,33 +8,33 @@ "selections": [ "MedicationRequest/54cd4101-f1b8-408e-ac61-8862d5399bcd" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "54cd4101-f1b8-408e-ac61-8862d5399bcd", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - } - ], - "id": "54cd4101-f1b8-408e-ac61-8862d5399bcd", - "status": "active", - "intent": "order", - "category": { + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", @@ -42,53 +42,46 @@ "display": "Community" } ] - }, - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-03-true-make-recommendations" - }, - "encounter": { - "reference": "Encounter/example-rec-03-in-no-counseling-within-90-days-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1, - "unit": "film" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ], - "dispenseRequest": { - "_validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" + ] + }, + "subject": { + "reference": "Patient/example-rec-03-true-make-recommendations" + }, + "encounter": { + "reference": "Encounter/example-rec-03-in-no-counseling-within-90-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -97,13 +90,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-03-true-make-recommendations", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -117,8 +111,7 @@ ] } ], - "id": "example-rec-03-true-make-recommendations", - "birthDate": "2002-04-08" + "birthDate": "2002-08-03" } }, "item2": { @@ -127,13 +120,14 @@ }, "resource": { "resourceType": "Procedure", + "id": "eb21d7c8-e260-409b-a753-d85909eff0ba", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -147,7 +141,6 @@ ] } ], - "id": "eb21d7c8-e260-409b-a753-d85909eff0ba", "status": "completed", "code": { "coding": [ @@ -162,8 +155,8 @@ "reference": "Patient/example-rec-03-true-make-recommendations" }, "performedPeriod": { - "start": "2021-12-08", - "end": "2022-01-07" + "start": "2022-04-04", + "end": "2022-05-04" } } }, @@ -171,4 +164,4 @@ "item4": null, "item5": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json index fd3107f1..6d0b0d14 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json @@ -8,33 +8,33 @@ "selections": [ "MedicationRequest/e9e50568-5737-427d-8b1b-7a48f3ea9986" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "e9e50568-5737-427d-8b1b-7a48f3ea9986", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - } - ], - "id": "e9e50568-5737-427d-8b1b-7a48f3ea9986", - "status": "active", - "intent": "order", - "category": { + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", @@ -42,53 +42,46 @@ "display": "Community" } ] - }, - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-03-false-due-to-discussion-within-90-days" - }, - "encounter": { - "reference": "Encounter/example-rec-03-out-counseling-within-90-days-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1, - "unit": "film" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ], - "dispenseRequest": { - "_validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" + ] + }, + "subject": { + "reference": "Patient/example-rec-03-false-due-to-discussion-within-90-days" + }, + "encounter": { + "reference": "Encounter/example-rec-03-out-counseling-within-90-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -97,13 +90,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-03-false-due-to-discussion-within-90-days", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -117,8 +111,7 @@ ] } ], - "id": "example-rec-03-false-due-to-discussion-within-90-days", - "birthDate": "2002-04-08" + "birthDate": "2002-08-03" } }, "item2": { @@ -127,13 +120,14 @@ }, "resource": { "resourceType": "Procedure", + "id": "ab45f30e-b150-4265-a288-02da1b74ca19", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -147,7 +141,6 @@ ] } ], - "id": "ab45f30e-b150-4265-a288-02da1b74ca19", "status": "completed", "code": { "coding": [ @@ -162,10 +155,10 @@ "reference": "Patient/example-rec-03-false-due-to-discussion-within-90-days" }, "performedPeriod": { - "start": "2022-01-09", - "end": "2022-01-10" + "start": "2022-05-06", + "end": "2022-05-07" } } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json index 4b880191..d04460f3 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json @@ -6,92 +6,96 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-04-long-acting-opioid", "encounterId": "Encounter/example-rec-04-long-acting-opioid-context", - "selections": [ "MedicationRequest/example-rec-04-long-acting-opioid-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "selections": [ + "MedicationRequest/example-rec-04-long-acting-opioid-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-04-long-acting-opioid-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - } - ], - "id": "example-rec-04-long-acting-opioid-context", - "status": "active", - "intent": "order", - "category": { + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community" } ] - }, - "medicationCodeableConcept": { - "coding": [ + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-04-long-acting-opioid" + }, + "encounter": { + "reference": "Encounter/example-rec-04-long-acting-opioid-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, - "subject": { - "reference": "Patient/example-rec-04-long-acting-opioid" - }, - "encounter": { - "reference": "Encounter/example-rec-04-long-acting-opioid-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [{ - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -100,13 +104,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-04-long-acting-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -120,17 +125,18 @@ ] } ], - "id": "example-rec-04-long-acting-opioid-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -143,10 +149,7 @@ "subject": { "reference": "Patient/example-rec-04-long-acting-opioid" }, - "context": { - "reference": "Encounter/example-rec-04-long-acting-opioid-prefetch" - }, - "authoredOn": "2021-12-08", + "authoredOn": "2022-04-04", "dosageInstruction": [ { "timing": { @@ -156,17 +159,13 @@ "periodUnit": "d" } }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "patch" - } + "asNeededBoolean": false } ], "dispenseRequest": { "validityPeriod": { - "start": "2021-12-08", - "end": "2022-07-08" + "start": "2022-04-04T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -184,13 +183,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-04-long-acting-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -204,14 +204,13 @@ ] } ], - "id": "example-rec-04-long-acting-opioid-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-04-long-acting-opioid" }, "period": { - "start": "2021-12-08", - "end": "2021-12-08" + "start": "2022-04-04", + "end": "2022-04-04" } } }, @@ -221,13 +220,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-04-long-acting-opioid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -241,9 +241,8 @@ ] } ], - "id": "example-rec-04-long-acting-opioid", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-05-04" } }, "item4": null, @@ -257,4 +256,4 @@ "item12": null, "item13": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json index 74f7834f..ed75c115 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json @@ -6,93 +6,96 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-04-new-patient", "encounterId": "Encounter/example-rec-04-new-patient-context", - "selections": [ "MedicationRequest/example-rec-04-new-patient-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-04-new-patient-context", - "status": "active", - "intent": "order", - "category": { - "coding": [ + "selections": [ + "MedicationRequest/example-rec-04-new-patient-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-04-new-patient-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-04-new-patient" - }, - "encounter": { - "reference": "Encounter/example-rec-04-new-patient-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [{ + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-04-new-patient" + }, + "encounter": { + "reference": "Encounter/example-rec-04-new-patient-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { "doseQuantity": { "value": 1.0, "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "system": "http://unitsofmeasure.org", + "code": "{patch}" } } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } - + } }, "prefetch": { "item1": null, @@ -103,13 +106,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-04-new-patient", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -123,9 +127,8 @@ ] } ], - "id": "example-rec-04-new-patient", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-05-04" } }, "item4": null, @@ -139,4 +142,4 @@ "item12": null, "item13": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json index 786c6204..93c4b5cf 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json @@ -6,93 +6,96 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-04-not-long-acting-opioid", "encounterId": "Encounter/example-rec-04-not-long-acting-opioid-context", - "selections": [ "MedicationRequest/example-rec-04-not-long-acting-opioid-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "selections": [ + "MedicationRequest/example-rec-04-not-long-acting-opioid-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-04-not-long-acting-opioid-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - } - ], - "id": "example-rec-04-not-long-acting-opioid-context", - "status": "active", - "intent": "order", - "category": { + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community" } ] - }, - "medicationCodeableConcept": { - "coding": [ + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010600", + "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-04-not-long-acting-opioid" + }, + "encounter": { + "reference": "Encounter/example-rec-04-not-long-acting-opioid-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010600", - "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip" + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, - "subject": { - "reference": "Patient/example-rec-04-not-long-acting-opioid" - }, - "encounter": { - "reference": "Encounter/example-rec-04-not-long-acting-opioid-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -101,13 +104,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-04-not-long-acting-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -121,17 +125,18 @@ ] } ], - "id": "example-rec-04-not-long-acting-opioid-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -144,10 +149,7 @@ "subject": { "reference": "Patient/example-rec-04-not-long-acting-opioid" }, - "context": { - "reference": "Encounter/example-rec-04-not-long-acting-opioid-prefetch" - }, - "authoredOn": "2021-12-08", + "authoredOn": "2022-04-04", "dosageInstruction": [ { "timing": { @@ -158,20 +160,22 @@ } }, "asNeededBoolean": false, - "doseAndRate": [{ - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } - }] + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2021-12-08", - "end": "2022-07-08" + "start": "2022-04-04T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -189,13 +193,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-04-not-long-acting-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -209,14 +214,13 @@ ] } ], - "id": "example-rec-04-not-long-acting-opioid-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-04-not-long-acting-opioid" }, "period": { - "start": "2021-12-08", - "end": "2021-12-08" + "start": "2022-04-04", + "end": "2022-04-04" } } }, @@ -226,13 +230,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-04-not-long-acting-opioid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -246,9 +251,8 @@ ] } ], - "id": "example-rec-04-not-long-acting-opioid", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-05-04" } }, "item4": null, @@ -262,4 +266,4 @@ "item12": null, "item13": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json index 3e58248f..573a1511 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json @@ -6,91 +6,96 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-04-opioid-with-abuse-potential", "encounterId": "Encounter/example-rec-04-opioid-with-abuse-potential-context", - "selections": [ "MedicationRequest/example-rec-04-opioid-with-abuse-potential-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-04-opioid-with-abuse-potential-context", - "status": "active", - "intent": "order", - "category": { - "coding": [ + "selections": [ + "MedicationRequest/example-rec-04-opioid-with-abuse-potential-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-04-opioid-with-abuse-potential-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-04-opioid-with-abuse-potential" - }, - "encounter": { - "reference": "Encounter/example-rec-04-opioid-with-abuse-potential-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [{ + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-04-opioid-with-abuse-potential" + }, + "encounter": { + "reference": "Encounter/example-rec-04-opioid-with-abuse-potential-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { "doseQuantity": { "value": 1.0, "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "system": "http://unitsofmeasure.org", + "code": "{patch}" } - }] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -99,13 +104,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-04-opioid-with-abuse-potential-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -119,17 +125,18 @@ ] } ], - "id": "example-rec-04-opioid-with-abuse-potential-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -142,10 +149,7 @@ "subject": { "reference": "Patient/example-rec-04-opioid-with-abuse-potential" }, - "context": { - "reference": "Encounter/example-rec-04-opioid-with-abuse-potential-prefetch" - }, - "authoredOn": "2022-03-25", + "authoredOn": "2022-07-20", "dosageInstruction": [ { "timing": { @@ -156,20 +160,22 @@ } }, "asNeededBoolean": false, - "doseAndRate": [{ - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } - }] + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-03-25", - "end": "2022-07-08" + "start": "2022-07-20T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -187,13 +193,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-04-opioid-with-abuse-potential-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -207,14 +214,13 @@ ] } ], - "id": "example-rec-04-opioid-with-abuse-potential-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-04-opioid-with-abuse-potential" }, "period": { - "start": "2022-03-25", - "end": "2022-03-25" + "start": "2022-07-20", + "end": "2022-07-20" } } }, @@ -224,13 +230,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-04-opioid-with-abuse-potential", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -244,9 +251,8 @@ ] } ], - "id": "example-rec-04-opioid-with-abuse-potential", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-05-04" } }, "item4": null, @@ -260,4 +266,4 @@ "item12": null, "item13": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json index e00f65da..87d48510 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-04-long-acting-opioid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,8 @@ ] } ], - "id": "example-rec-04-long-acting-opioid", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-05-04" } }, "item2": { @@ -45,13 +45,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-04-long-acting-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -65,17 +66,18 @@ ] } ], - "id": "example-rec-04-long-acting-opioid-prefetch", "status": "active", "intent": "order", - "category": [{ - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -88,10 +90,7 @@ "subject": { "reference": "Patient/example-rec-04-long-acting-opioid" }, - "context": { - "reference": "Encounter/example-rec-04-long-acting-opioid-prefetch" - }, - "authoredOn": "2022-04-08", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -102,20 +101,22 @@ } }, "asNeededBoolean": false, - "doseAndRate": [{ - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } - }] + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -135,13 +136,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-04-long-acting-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -155,16 +157,15 @@ ] } ], - "id": "example-rec-04-long-acting-opioid-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-04-long-acting-opioid" }, "period": { - "start": "2021-12-08", - "end": "2021-12-08" + "start": "2022-04-04", + "end": "2022-04-04" } } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json index 23dbc6c2..7f9f68e5 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-04-new-patient", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,8 @@ ] } ], - "id": "example-rec-04-new-patient", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-05-04" } }, "item2": { @@ -45,13 +45,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-04-new-patient-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -65,17 +66,18 @@ ] } ], - "id": "example-rec-04-new-patient-prefetch", "status": "active", "intent": "order", - "category": [{ - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -91,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-04-new-patient-prefetch" }, - "authoredOn": "2022-04-08", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -102,21 +104,19 @@ } }, "asNeededBoolean": false, - "doseAndRate": [{ - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } - }] + ] } ], "dispenseRequest": { - "_validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" - }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { "value": 30, @@ -131,4 +131,4 @@ "item4": null, "item5": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json index 5c76c419..a152353d 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-04-not-long-acting-opioid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,8 @@ ] } ], - "id": "example-rec-04-not-long-acting-opioid", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-05-04" } }, "item2": { @@ -45,13 +45,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-04-not-long-acting-opioid-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -65,17 +66,18 @@ ] } ], - "id": "example-rec-04-not-long-acting-opioid-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -91,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-04-not-long-acting-opioid-context" }, - "authoredOn": "2022-04-08", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -102,20 +104,22 @@ } }, "asNeededBoolean": false, - "doseAndRate": [{ - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } - }] + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -135,13 +139,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-04-not-long-acting-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -155,16 +160,15 @@ ] } ], - "id": "example-rec-04-not-long-acting-opioid-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-04-not-long-acting-opioid" }, "period": { - "start": "2021-12-08", - "end": "2022-12-08" + "start": "2022-04-04", + "end": "2023-04-04" } } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json index 7d66eabf..f6d279b7 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-04-opioid-with-abuse-potential", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,8 @@ ] } ], - "id": "example-rec-04-opioid-with-abuse-potential", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-05-04" } }, "item2": { @@ -45,13 +45,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-04-opioid-with-abuse-potential-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -65,17 +66,18 @@ ] } ], - "id": "example-rec-04-opioid-with-abuse-potential-prefetch", "status": "active", "intent": "order", - "category": [{ - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -88,10 +90,7 @@ "subject": { "reference": "Patient/example-rec-04-opioid-with-abuse-potential" }, - "context": { - "reference": "Encounter/example-rec-04-opioid-with-abuse-potential-prefetch" - }, - "authoredOn": "2022-03-25", + "authoredOn": "2022-07-20", "dosageInstruction": [ { "timing": { @@ -102,21 +101,19 @@ } }, "asNeededBoolean": false, - "doseAndRate": [{ - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } - }] + ] } ], "dispenseRequest": { - "_validityPeriod": { - "start": "2022-03-25", - "end": "2022-07-08" - }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { "value": 30, @@ -135,13 +132,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-04-opioid-with-abuse-potential-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -155,16 +153,15 @@ ] } ], - "id": "example-rec-04-opioid-with-abuse-potential-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-04-opioid-with-abuse-potential" }, "period": { - "start": "2022-03-25", - "end": "2022-03-25" + "start": "2022-07-20", + "end": "2022-07-20" } } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json index 1257d8d3..72a21907 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json @@ -6,87 +6,86 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-05-mme-greater-than-fifty", "encounterId": "Encounter/example-rec-05-mme-greater-than-fifty-context", - "selections": [ "MedicationRequest/example-rec-05-mme-greater-than-fifty-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-05-mme-greater-than-fifty-context", - "status": "active", - "intent": "order", - "category": { - "coding": [ + "selections": [ + "MedicationRequest/example-rec-05-mme-greater-than-fifty-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-05-mme-greater-than-fifty-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-05-mme-greater-than-fifty" - }, - "encounter": { - "reference": "Encounter/example-rec-05-mme-greater-than-fifty-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "patch" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-08", - "end": "2022-10-08" + ] + }, + "subject": { + "reference": "Patient/example-rec-05-mme-greater-than-fifty" + }, + "encounter": { + "reference": "Encounter/example-rec-05-mme-greater-than-fifty-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2023-02-02T00:00:00-07:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": null, @@ -97,13 +96,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-05-mme-greater-than-fifty", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -117,9 +117,8 @@ ] } ], - "id": "example-rec-05-mme-greater-than-fifty", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-05-04" } }, "item4": null, @@ -133,4 +132,4 @@ "item12": null, "item13": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json index 751d51a3..5307d7bd 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json @@ -6,87 +6,86 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-05-mme-less-than-fifty", "encounterId": "Encounter/example-rec-05-mme-less-than-fifty-context", - "selections": [ "MedicationRequest/example-rec-05-mme-less-than-fifty-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-05-mme-less-than-fifty-context", - "status": "active", - "intent": "order", - "category": { - "coding": [ + "selections": [ + "MedicationRequest/example-rec-05-mme-less-than-fifty-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-05-mme-less-than-fifty-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-05-mme-less-than-fifty" - }, - "encounter": { - "reference": "Encounter/example-rec-05-mme-less-than-fifty-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "patch" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-08", - "end": "2022-10-08" + ] + }, + "subject": { + "reference": "Patient/example-rec-05-mme-less-than-fifty" + }, + "encounter": { + "reference": "Encounter/example-rec-05-mme-less-than-fifty-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2023-02-02T00:00:00-07:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": null, @@ -97,13 +96,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-05-mme-less-than-fifty", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -117,9 +117,8 @@ ] } ], - "id": "example-rec-05-mme-less-than-fifty", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-05-04" } }, "item4": null, @@ -133,4 +132,4 @@ "item12": null, "item13": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json index 16cb588e..3b8b0f3c 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json @@ -1,124 +1,122 @@ { - "hookInstance": "8ef84771-16e2-487c-8042-b097009b7d64", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", - "hook": "order-select", - "context": { - "userId": "Practitioner/example", - "patientId": "Patient/example-rec-06-criteria-valid", - "selections": [ "MedicationRequest/8280aeb5-db2e-4b2e-a80c-aaaa597762b3" ], - "draftOrders": + "hookInstance": "8ef84771-16e2-487c-8042-b097009b7d64", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "hook": "order-select", + "context": { + "userId": "Practitioner/example", + "patientId": "Patient/example-rec-06-criteria-valid", + "selections": [ + "MedicationRequest/8280aeb5-db2e-4b2e-a80c-aaaa597762b3" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "8280aeb5-db2e-4b2e-a80c-aaaa597762b3", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "8280aeb5-db2e-4b2e-a80c-aaaa597762b3", - "authoredOn": "2018-08-01T00:00:00.0", - "status": "active", - "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - }, - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-06-criteria-valid" - }, - "encounter": { - "reference": "Encounter/example-rec-06-in-criteria-met-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 5.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - } - }, - "prefetch": { - "item1": { - "response": { - "status": "200 OK" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" }, - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-06-criteria-valid", - "birthDate": "2002-04-08" + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" } + ] } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-06-criteria-valid" + }, + "encounter": { + "reference": "Encounter/example-rec-06-in-criteria-met-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 5.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + } + }, + "prefetch": { + "item1": { + "response": { + "status": "200 OK" + }, + "resource": { + "resourceType": "Patient", + "id": "example-rec-06-criteria-valid", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "birthDate": "2002-08-03" + } } -} + } +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json index 6e0a5537..2c8e56fd 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json @@ -1,123 +1,122 @@ { - "hookInstance": "c7107fd7-7be4-4837-9892-2f31b3224ffe", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", - "hook": "order-select", - "context": { - "userId": "Practitioner/example", - "patientId": "Patient/example-rec-06-with-extended-release-for-27-days", - "selections": [ "MedicationRequest/15fa9928-4f72-4ee3-ac61-1412d9fa446b" ], - "draftOrders": + "hookInstance": "c7107fd7-7be4-4837-9892-2f31b3224ffe", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "hook": "order-select", + "context": { + "userId": "Practitioner/example", + "patientId": "Patient/example-rec-06-with-extended-release-for-27-days", + "selections": [ + "MedicationRequest/15fa9928-4f72-4ee3-ac61-1412d9fa446b" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "15fa9928-4f72-4ee3-ac61-1412d9fa446b", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "15fa9928-4f72-4ee3-ac61-1412d9fa446b", - "status": "active", - "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - }, - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-06-with-extended-release-for-27-days" - }, - "encounter": { - "reference": "Encounter/example-rec-06-out-extended-release-27-day-context" - }, - "authoredOn": "2022-04-08", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-08", - "end": "2022-07-08" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 27.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - } - }, - "prefetch": { - "item1": { - "response": { - "status": "200 OK" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" }, - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-06-with-extended-release-for-27-days", - "birthDate": "2002-04-08" + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" } + ] } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-06-with-extended-release-for-27-days" + }, + "encounter": { + "reference": "Encounter/example-rec-06-out-extended-release-27-day-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 27.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + } + }, + "prefetch": { + "item1": { + "response": { + "status": "200 OK" + }, + "resource": { + "resourceType": "Patient", + "id": "example-rec-06-with-extended-release-for-27-days", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "birthDate": "2002-08-03" + } } -} + } +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json index bf4a899e..95750efb 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json @@ -9,87 +9,83 @@ "selections": [ "MedicationRequest/example-rec-07-end-of-life-exclusion-context" ], - "draftOrders": [ - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-07-end-of-life-exclusion-context", - "status": "active", - "intent": "order", - "category": { - "coding": [ + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-07-end-of-life-exclusion-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-07-end-of-life-exclusion" - }, - "encounter": { - "reference": "Encounter/example-rec-07-end-of-life-exclusion-context" - }, - "authoredOn": "2022-04-28", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + ] + }, + "subject": { + "reference": "Patient/example-rec-07-end-of-life-exclusion" + }, + "encounter": { + "reference": "Encounter/example-rec-07-end-of-life-exclusion-context" + }, + "authoredOn": "2022-08-23", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-23T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } - ] + } }, "prefetch": { "item1": { @@ -98,13 +94,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-07-end-of-life-exclusion-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -118,17 +115,18 @@ ] } ], - "id": "example-rec-07-end-of-life-exclusion-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -141,10 +139,7 @@ "subject": { "reference": "Patient/example-rec-07-end-of-life-exclusion" }, - "context": { - "reference": "Encounter/example-rec-07-end-of-life-exclusion-prefetch" - }, - "authoredOn": "2022-03-17", + "authoredOn": "2022-07-12", "dosageInstruction": [ { "timing": { @@ -154,17 +149,13 @@ "periodUnit": "d" } }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } + "asNeededBoolean": false } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-03-17", - "end": "2022-06-09" + "start": "2022-07-12T00:00:00-06:00", + "end": "2022-10-04T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -182,13 +173,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-07-end-of-life-exclusion-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -202,14 +194,13 @@ ] } ], - "id": "example-rec-07-end-of-life-exclusion-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-07-end-of-life-exclusion" }, "period": { - "start": "2022-03-17", - "end": "2022-06-09" + "start": "2022-07-12", + "end": "2022-10-04" } } }, @@ -219,13 +210,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-07-end-of-life-exclusion", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-08" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -239,9 +231,8 @@ ] } ], - "id": "example-rec-07-end-of-life-exclusion", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-05-04" } }, "item4": null, @@ -256,4 +247,4 @@ "item13": null, "item14": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json index c5b28f0f..4197e439 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-07-risk-assessment-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-07-risk-assessment-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-07-risk-assessment-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -67,17 +69,13 @@ "periodUnit": "d" } }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } + "asNeededBoolean": false } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -97,13 +95,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-07-risk-assessment-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -117,14 +116,13 @@ ] } ], - "id": "example-rec-07-risk-assessment-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-07-risk-assessment" }, "period": { - "start": "2022-04-14", - "end": "2022-04-14" + "start": "2022-07-20", + "end": "2022-07-20" } } }, @@ -134,13 +132,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-07-risk-assessment", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -154,9 +153,8 @@ ] } ], - "id": "example-rec-07-risk-assessment", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item4": { @@ -165,13 +163,14 @@ }, "resource": { "resourceType": "Procedure", + "id": "example-rec-07-risk-assessment-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -185,7 +184,6 @@ ] } ], - "id": "example-rec-07-risk-assessment-prefetch", "status": "completed", "code": { "coding": [ @@ -199,12 +197,9 @@ "subject": { "reference": "Patient/example-rec-07-risk-assessment" }, - "context": { - "reference": "Encounter/example-rec-07-risk-assessment-prefetch" - }, "performedPeriod": { - "start": "2022-04-01", - "end": "2022-04-01" + "start": "2022-07-07", + "end": "2022-07-07" } } }, @@ -219,4 +214,4 @@ "item13": null, "item14": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json index ef260f53..3e8cfcae 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json @@ -6,87 +6,86 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-07-seven-of-past-ten-days", "encounterId": "Encounter/example-rec-07-seven-of-past-ten-days-context", - "selections": [ "MedicationRequest/example-rec-07-seven-of-past-ten-days-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-07-seven-of-past-ten-days-context", - "status": "active", - "intent": "order", - "category": { - "coding": [ + "selections": [ + "MedicationRequest/example-rec-07-seven-of-past-ten-days-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-07-seven-of-past-ten-days-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-07-seven-of-past-ten-days" - }, - "encounter": { - "reference": "Encounter/example-rec-07-seven-of-past-ten-days-context" - }, - "authoredOn": "2022-04-28", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + ] + }, + "subject": { + "reference": "Patient/example-rec-07-seven-of-past-ten-days" + }, + "encounter": { + "reference": "Encounter/example-rec-07-seven-of-past-ten-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 7.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 7.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -95,13 +94,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-07-seven-of-past-ten-days-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -115,17 +115,18 @@ ] } ], - "id": "example-rec-07-seven-of-past-ten-days-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -138,10 +139,7 @@ "subject": { "reference": "Patient/example-rec-07-seven-of-past-ten-days" }, - "context": { - "reference": "Encounter/example-rec-07-seven-of-past-ten-days-prefetch" - }, - "authoredOn": "2022-04-18", + "authoredOn": "2022-07-24", "dosageInstruction": [ { "timing": { @@ -151,17 +149,13 @@ "periodUnit": "d" } }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } + "asNeededBoolean": false } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-18", - "end": "2022-04-28" + "start": "2022-07-24T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -179,13 +173,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-07-seven-of-past-ten-days-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -199,14 +194,13 @@ ] } ], - "id": "example-rec-07-seven-of-past-ten-days-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-07-seven-of-past-ten-days" }, "period": { - "start" :"2022-04-18", - "end": "2022-04-18" + "start": "2022-07-24", + "end": "2022-07-24" } } }, @@ -216,13 +210,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-07-seven-of-past-ten-days", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -236,9 +231,8 @@ ] } ], - "id": "example-rec-07-seven-of-past-ten-days", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item4": null, @@ -253,4 +247,4 @@ "item13": null, "item14": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json index 2a3afb38..cbebafdf 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json @@ -2,93 +2,90 @@ "hookInstance": "d23ec776-f58a-4902-b0a4-6ef3d9f59309", "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", - "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-07-six-of-past-ten-days", "encounterId": "Encounter/example-rec-07-six-of-past-ten-days-context", - "selections": [ "MedicationRequest/example-rec-07-six-of-past-ten-days-context" ], - "draftOrders": [ - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-07-six-of-past-ten-days-context", - "status": "active", - "intent": "order", - "category": { - "coding": [ + "selections": [ + "MedicationRequest/example-rec-07-six-of-past-ten-days-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-07-six-of-past-ten-days-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-07-six-of-past-ten-days" - }, - "encounter": { - "reference": "Encounter/example-rec-07-six-of-past-ten-days-context" - }, - "authoredOn": "2022-04-28", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + ] + }, + "subject": { + "reference": "Patient/example-rec-07-six-of-past-ten-days" + }, + "encounter": { + "reference": "Encounter/example-rec-07-six-of-past-ten-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 6.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 6.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } - ] + } }, "prefetch": { "item1": { @@ -97,13 +94,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-07-six-of-past-ten-days-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -117,17 +115,18 @@ ] } ], - "id": "example-rec-07-six-of-past-ten-days-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -140,10 +139,7 @@ "subject": { "reference": "Patient/example-rec-07-six-of-past-ten-days" }, - "context": { - "reference": "Encounter/example-rec-07-six-of-past-ten-days-prefetch" - }, - "authoredOn": "2022-04-18", + "authoredOn": "2022-07-24", "dosageInstruction": [ { "timing": { @@ -153,17 +149,13 @@ "periodUnit": "d" } }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } + "asNeededBoolean": false } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-18", - "end": "2022-04-28" + "start": "2022-07-24T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -181,13 +173,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-07-six-of-past-ten-days-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -201,14 +194,13 @@ ] } ], - "id": "example-rec-07-six-of-past-ten-days-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-07-six-of-past-ten-days" }, "period": { - "start" :"2022-04-18", - "end": "2022-04-18" + "start": "2022-07-24", + "end": "2022-07-24" } } }, @@ -218,13 +210,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-07-six-of-past-ten-days", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -238,9 +231,8 @@ ] } ], - "id": "example-rec-07-six-of-past-ten-days", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item4": null, @@ -255,4 +247,4 @@ "item13": null, "item14": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json index 7165f7e3..b930d376 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json @@ -6,87 +6,86 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-07-sixtythree-of-past-ninety-days", "encounterId": "Encounter/example-rec-07-sixtythree-of-past-ninety-days-context", - "selections": [ "MedicationRequest/example-rec-07-sixtythree-of-past-ninety-days-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-07-sixtythree-of-past-ninety-days-context", - "status": "active", - "intent": "order", - "category": { - "coding": [ + "selections": [ + "MedicationRequest/example-rec-07-sixtythree-of-past-ninety-days-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-07-sixtythree-of-past-ninety-days-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-07-sixtythree-of-past-ninety-days" - }, - "encounter": { - "reference": "Encounter/example-rec-07-sixtythree-of-past-ninety-days-context" - }, - "authoredOn": "2022-04-28", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + ] + }, + "subject": { + "reference": "Patient/example-rec-07-sixtythree-of-past-ninety-days" + }, + "encounter": { + "reference": "Encounter/example-rec-07-sixtythree-of-past-ninety-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -95,13 +94,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-07-sixtythree-of-past-ninety-days-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -115,17 +115,18 @@ ] } ], - "id": "example-rec-07-sixtythree-of-past-ninety-days-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -138,10 +139,7 @@ "subject": { "reference": "Patient/example-rec-07-sixtythree-of-past-ninety-days" }, - "context": { - "reference": "Encounter/example-rec-07-sixtythree-of-past-ninety-days-prefetch" - }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -151,17 +149,13 @@ "periodUnit": "d" } }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } + "asNeededBoolean": false } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -179,13 +173,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-07-sixtythree-of-past-ninety-days-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -199,14 +194,13 @@ ] } ], - "id": "example-rec-07-sixtythree-of-past-ninety-days-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-07-sixtythree-of-past-ninety-days" }, "period": { - "start" :"2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -216,13 +210,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-07-sixtythree-of-past-ninety-days", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -236,9 +231,8 @@ ] } ], - "id": "example-rec-07-sixtythree-of-past-ninety-days", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item4": null, @@ -253,4 +247,4 @@ "item13": null, "item14": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json index 00a6c65b..391b6361 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json @@ -6,87 +6,86 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-07-sixtytwo-of-past-ninety-days", "encounterId": "Encounter/example-rec-07-sixtytwo-of-past-ninety-days-context", - "selections": [ "MedicationRequest/example-rec-07-sixtytwo-of-past-ninety-days-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-07-sixtytwo-of-past-ninety-days-context", - "status": "active", - "intent": "order", - "category": { - "coding": [ + "selections": [ + "MedicationRequest/example-rec-07-sixtytwo-of-past-ninety-days-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-07-sixtytwo-of-past-ninety-days-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-07-sixtytwo-of-past-ninety-days" - }, - "encounter": { - "reference": "Encounter/example-rec-07-sixtytwo-of-past-ninety-days-context" - }, - "authoredOn": "2022-04-28", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + ] + }, + "subject": { + "reference": "Patient/example-rec-07-sixtytwo-of-past-ninety-days" + }, + "encounter": { + "reference": "Encounter/example-rec-07-sixtytwo-of-past-ninety-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -95,13 +94,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-07-sixtytwo-of-past-ninety-days-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -115,17 +115,18 @@ ] } ], - "id": "example-rec-07-sixtytwo-of-past-ninety-days-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -138,10 +139,7 @@ "subject": { "reference": "Patient/example-rec-07-sixtytwo-of-past-ninety-days" }, - "context": { - "reference": "Encounter/example-rec-07-sixtytwo-of-past-ninety-days-prefetch" - }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -151,17 +149,13 @@ "periodUnit": "d" } }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "tablet" - } + "asNeededBoolean": false } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end":"2022-04-28", + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -179,13 +173,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-07-sixtytwo-of-past-ninety-days-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -199,14 +194,13 @@ ] } ], - "id": "example-rec-07-sixtytwo-of-past-ninety-days-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-07-sixtytwo-of-past-ninety-days" }, "period": { - "start": "2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -216,13 +210,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-07-sixtytwo-of-past-ninety-days", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -236,9 +231,8 @@ ] } ], - "id": "example-rec-07-sixtytwo-of-past-ninety-days", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item4": null, @@ -253,4 +247,4 @@ "item13": null, "item14": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json index d9536664..e8348852 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-mme-greater-than-fifty-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-08-mme-greater-than-fifty-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-08-mme-greater-than-fifty-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -69,27 +71,28 @@ }, "doseAndRate": [ { - "doseQuantity": { + "doseQuantity": { "value": 1.0, "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" } + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, + "numberOfRepeatsAllowed": 3, "quantity": { "value": 30, "unit": "patch", "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", "code": "patch" }, - "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { "value": 30.0, "unit": "days", @@ -106,13 +109,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-mme-greater-than-fifty", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -126,9 +130,8 @@ ] } ], - "id": "example-rec-08-mme-greater-than-fifty", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -147,4 +150,4 @@ "item15": null, "item16": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json index d6a06ed8..7f13a339 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-mme-less-than-fifty-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-08-mme-less-than-fifty-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-08-mme-less-than-fifty-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -81,8 +83,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -101,13 +103,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-mme-less-than-fifty", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -121,9 +124,8 @@ ] } ], - "id": "example-rec-08-mme-less-than-fifty", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -142,4 +144,4 @@ "item15": null, "item16": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json index 8d6306be..ac1c2c23 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-mme-greater-than-fifty-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-08-mme-greater-than-fifty-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-08-mme-greater-than-fifty-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -127,16 +129,16 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, + "numberOfRepeatsAllowed": 3, "quantity": { "value": 30, "unit": "patch", "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", "code": "patch" }, - "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { "value": 30.0, "unit": "days", @@ -153,13 +155,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-mme-greater-than-fifty", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -173,9 +176,8 @@ ] } ], - "id": "example-rec-08-mme-greater-than-fifty", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -194,4 +196,4 @@ "item15": null, "item16": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json index 1f94b245..78c38723 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-on-benzodiazepine-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-08-on-benzodiazepine-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-08-on-benzodiazepine-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -81,8 +83,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -101,13 +103,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-on-benzodiazepine", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -121,9 +124,8 @@ ] } ], - "id": "example-rec-08-on-benzodiazepine", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -132,13 +134,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-08-on-benzodiazepine-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -152,17 +155,18 @@ ] } ], - "id": "example-rec-08-on-benzodiazepine-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -178,7 +182,7 @@ "encounter": { "reference": "Encounter/example-rec-08-on-benzodiazepine-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -202,8 +206,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -230,4 +234,4 @@ "item15": null, "item16": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json index 7c8dbf04..54b5ba67 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-on-naloxone-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-08-on-naloxone-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-08-on-naloxone-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -81,8 +83,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -101,13 +103,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-on-naloxone", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -121,9 +124,8 @@ ] } ], - "id": "example-rec-08-on-naloxone", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -132,13 +134,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-08-on-naloxone-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -152,17 +155,18 @@ ] } ], - "id": "example-rec-08-on-naloxone-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -178,7 +182,7 @@ "encounter": { "reference": "Encounter/example-rec-08-on-naloxone-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -202,8 +206,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -230,4 +234,4 @@ "item15": null, "item16": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json index 85d102f0..a7f9c20f 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-substance-abuse-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-08-substance-abuse-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-08-substance-abuse-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -81,16 +83,16 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, + "numberOfRepeatsAllowed": 3, "quantity": { "value": 30, "unit": "patch", "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", "code": "patch" }, - "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { "value": 30.0, "unit": "days", @@ -107,13 +109,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-substance-abuse", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -127,9 +130,8 @@ ] } ], - "id": "example-rec-08-substance-abuse", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -138,13 +140,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-08-substance-abuse-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -158,14 +161,13 @@ ] } ], - "id": "example-rec-08-substance-abuse-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-08-substance-abuse" }, "period": { - "start": "2022-04-14", - "end": "2022-04-14" + "start": "2022-07-20", + "end": "2022-07-20" } } }, @@ -175,13 +177,14 @@ }, "resource": { "resourceType": "Condition", + "id": "example-rec-08-substance-abuse-condition", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -195,7 +198,6 @@ ] } ], - "id": "example-rec-08-substance-abuse-condition", "clinicalStatus": { "coding": [ { @@ -216,20 +218,6 @@ ] } ], - "verificationStatus": { - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", - "code": "confirmed", - "display": "Confirmed" - } - ] - } - }, - "subject": { - "reference": "Patient/example-rec-08-substance-abuse" - }, "code": { "coding": [ { @@ -238,8 +226,11 @@ "display": "Alcohol dependence" } ] + }, + "subject": { + "reference": "Patient/example-rec-08-substance-abuse" } } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json index cb1d11ca..00945265 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-mme-greater-than-fifty-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-08-order-sign-mme-greater-than-fifty-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-08-order-sign-mme-greater-than-fifty-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -81,16 +83,16 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, + "numberOfRepeatsAllowed": 3, "quantity": { "value": 30, "unit": "patch", "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", "code": "patch" }, - "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { "value": 30.0, "unit": "days", @@ -107,13 +109,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-order-sign-mme-greater-than-fifty", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -127,9 +130,8 @@ ] } ], - "id": "example-rec-08-order-sign-mme-greater-than-fifty", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -148,4 +150,4 @@ "item15": null, "item16": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json index a651c8f1..d6f9934a 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-mme-less-than-fifty-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-08-order-sign-mme-less-than-fifty-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-08-order-sign-mme-less-than-fifty-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -81,8 +83,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -101,13 +103,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-order-sign-mme-less-than-fifty", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -121,9 +124,8 @@ ] } ], - "id": "example-rec-08-order-sign-mme-less-than-fifty", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -142,4 +144,4 @@ "item15": null, "item16": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json index d6db39d4..261ba13e 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-mme-greater-than-fifty-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-08-order-sign-mme-greater-than-fifty-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-08-order-sign-mme-greater-than-fifty-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -127,16 +129,16 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, + "numberOfRepeatsAllowed": 3, "quantity": { "value": 30, "unit": "patch", "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", "code": "patch" }, - "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { "value": 30.0, "unit": "days", @@ -153,13 +155,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-order-sign-mme-greater-than-fifty", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -173,9 +176,8 @@ ] } ], - "id": "example-rec-08-order-sign-mme-greater-than-fifty", "gender": "male", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -194,4 +196,4 @@ "item15": null, "item16": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json index 38ef5de0..8664778a 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-on-benzodiazepine-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-08-order-sign-on-benzodiazepine-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-08-order-sign-on-benzodiazepine-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -81,8 +83,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -101,13 +103,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-order-sign-on-benzodiazepine", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -121,9 +124,8 @@ ] } ], - "id": "example-rec-08-order-sign-on-benzodiazepine", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -132,13 +134,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-on-benzodiazepine-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -152,17 +155,18 @@ ] } ], - "id": "example-rec-08-order-sign-on-benzodiazepine-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -178,7 +182,7 @@ "encounter": { "reference": "Encounter/example-rec-08-order-sign-on-benzodiazepine-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -202,8 +206,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -230,4 +234,4 @@ "item15": null, "item16": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json index 2ed50130..043898ba 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-on-naloxone-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-08-order-sign-on-naloxone-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-08-order-sign-on-naloxone-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -81,8 +83,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -101,13 +103,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-order-sign-on-naloxone", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -121,9 +124,8 @@ ] } ], - "id": "example-rec-08-order-sign-on-naloxone", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -132,13 +134,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-on-naloxone-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -152,17 +155,18 @@ ] } ], - "id": "example-rec-08-order-sign-on-naloxone-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -178,7 +182,7 @@ "encounter": { "reference": "Encounter/example-rec-08-order-sign-on-naloxone-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -202,8 +206,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -230,4 +234,4 @@ "item15": null, "item16": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json index da4d485b..52b81789 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json @@ -2,7 +2,6 @@ "hookInstance": "b32cab7a-75ea-4cd1-9514-20ebf473cac9", "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", - "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-order-sign-substance-abuse", @@ -12,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-substance-abuse-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -32,17 +32,18 @@ ] } ], - "id": "example-rec-08-order-sign-substance-abuse-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -58,7 +59,8 @@ "encounter": { "reference": "Encounter/example-rec-08-order-sign-substance-abuse-context" }, -"authoredOn": "2022-04-28", "dosageInstruction": [ + "authoredOn": "2022-08-03", + "dosageInstruction": [ { "timing": { "repeat": { @@ -72,8 +74,8 @@ "doseQuantity": { "value": 1.0, "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "system": "http://unitsofmeasure.org", + "code": "{patch}" } } ] @@ -81,16 +83,16 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, + "numberOfRepeatsAllowed": 3, "quantity": { "value": 30, "unit": "patch", "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", "code": "patch" }, - "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { "value": 30.0, "unit": "days", @@ -107,13 +109,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-08-order-sign-substance-abuse", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -127,9 +130,8 @@ ] } ], - "id": "example-rec-08-order-sign-substance-abuse", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -138,13 +140,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-08-order-sign-substance-abuse-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -158,14 +161,13 @@ ] } ], - "id": "example-rec-08-order-sign-substance-abuse-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-08-order-sign-substance-abuse" }, "period": { - "start" :"2022-04-14", - "end": "2022-04-14" + "start": "2022-07-20", + "end": "2022-07-20" } } }, @@ -175,13 +177,14 @@ }, "resource": { "resourceType": "Condition", + "id": "example-rec-08-order-sign-substance-abuse-condition", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -195,7 +198,6 @@ ] } ], - "id": "example-rec-08-order-sign-substance-abuse-condition", "clinicalStatus": { "coding": [ { @@ -212,25 +214,10 @@ "system": "http://terminology.hl7.org/CodeSystem/condition-category", "code": "encounter-diagnosis", "display": "Encounter Diagnosis" - } ] } ], - "verificationStatus": { - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", - "code": "confirmed", - "display": "Confirmed" - } - ] - } - }, - "subject": { - "reference": "Patient/example-rec-08-order-sign-substance-abuse" - }, "code": { "coding": [ { @@ -239,8 +226,11 @@ "display": "Alcohol dependence" } ] + }, + "subject": { + "reference": "Patient/example-rec-08-order-sign-substance-abuse" } } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json index 84a0dde1..2bc5a759 100755 --- a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json @@ -10,13 +10,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "60640bf6-3845-4dbd-bf15-b2616118e8c8-3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -30,18 +31,19 @@ ] } ], - "id": "60640bf6-3845-4dbd-bf15-b2616118e8c8-3", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -54,7 +56,7 @@ "subject": { "reference": "Patient/example-rec-09-true-return-recommendations" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -64,17 +66,13 @@ "periodUnit": "d" } }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "film" - } + "asNeededBoolean": false } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -93,13 +91,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-09-true-return-recommendations", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -113,8 +112,7 @@ ] } ], - "id": "example-rec-09-true-return-recommendations", - "birthDate": "2002-04-28" + "birthDate": "2002-08-03" } }, "item2": { @@ -123,13 +121,14 @@ }, "resource": { "resourceType": "Procedure", + "id": "ea2465c9-5a50-4e24-83dd-7a6e7957c253", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -143,7 +142,6 @@ ] } ], - "id": "ea2465c9-5a50-4e24-83dd-7a6e7957c253", "status": "completed", "code": { "coding": [ @@ -158,10 +156,10 @@ "reference": "Patient/example-rec-09-true-return-recommendations" }, "performedPeriod": { - "start": "2018-01-01T00:00:00", - "end": "2018-01-02T00:00:00" + "start": "2018-04-08T00:00:00-06:00", + "end": "2018-04-09T00:00:00-06:00" } } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json index de4d2dff..b1fe49e5 100755 --- a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json @@ -8,33 +8,33 @@ "selections": [ "MedicationRequest/f4540e09-8aaf-4d77-86be-9fd9a4d6a06c-3" ], - "draftOrders": [ - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "f4540e09-8aaf-4d77-86be-9fd9a4d6a06c-3", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - } - ], - "id": "f4540e09-8aaf-4d77-86be-9fd9a4d6a06c-3", - "status": "active", - "intent": "order", - "category": { + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", @@ -42,51 +42,47 @@ "display": "Community" } ] - }, - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" - }, - "authoredOn": "2022-04-28", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseQuantity": { - "value": 1.0, - "unit": "film" - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + ] + }, + "subject": { + "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } - ] + } }, "prefetch": { "item1": { @@ -95,13 +91,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -115,8 +112,7 @@ ] } ], - "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", - "birthDate": "2002-04-28" + "birthDate": "2002-08-03" } }, "item2": { @@ -146,4 +142,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json index 2f7b430e..598e03fc 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-10-2-illicit-drugs-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-10-2-illicit-drugs-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -82,8 +84,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -102,13 +104,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-2-illicit-drugs", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -122,9 +125,8 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -137,13 +139,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-2-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -157,16 +160,17 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -179,7 +183,7 @@ "subject": { "reference": "Patient/example-rec-10-2-illicit-drugs" }, - "effectiveDateTime": "2021-09-22", + "effectiveDateTime": "2021-12-28", "valueString": "POS", "interpretation": [ { @@ -196,13 +200,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-2-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -216,16 +221,17 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -239,7 +245,7 @@ "subject": { "reference": "Patient/example-rec-10-2-illicit-drugs" }, - "effectiveDateTime": "2021-11-01", + "effectiveDateTime": "2022-02-06", "valueString": "NEG", "interpretation": [ { @@ -256,13 +262,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-2-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -276,16 +283,17 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -298,7 +306,7 @@ "subject": { "reference": "Patient/example-rec-10-2-illicit-drugs" }, - "effectiveDateTime": "2021-11-01", + "effectiveDateTime": "2022-02-06", "valueString": "NEG", "interpretation": [ { @@ -317,14 +325,16 @@ "resourceType": "Observation", "id": "example-rec-10-2-illicit-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -360,13 +370,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-10-2-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -380,14 +391,13 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-10-2-illicit-drugs" }, "period": { - "start": "2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -403,13 +413,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-2-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -423,17 +434,18 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -449,7 +461,7 @@ "encounter": { "reference": "Encounter/example-rec-10-2-illicit-drugs-prefetch" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -474,8 +486,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -488,4 +500,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json index 4cec640f..259848c6 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-10-end-of-life-med-exclusion-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,7 +32,6 @@ ] } ], - "id": "example-rec-10-end-of-life-med-exclusion-context", "status": "active", "intent": "order", "category": [ @@ -59,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-10-end-of-life-med-exclusion-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -84,8 +84,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -104,13 +104,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-end-of-life-med-exclusion", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -124,9 +125,8 @@ ] } ], - "id": "example-rec-10-end-of-life-med-exclusion", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -138,13 +138,14 @@ }, "resource": { "resourceType": "Condition", + "id": "EndOfLifeCondition", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -158,16 +159,6 @@ ] } ], - "id": "EndOfLifeCondition", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } - ] - }, "clinicalStatus": { "coding": [ { @@ -177,20 +168,17 @@ } ] }, - "verificationStatus": { - "code": { + "category": [ + { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", - "code": "confirmed", - "display": "Confirmed" + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" } ] } - }, - "subject": { - "reference": "Patient/example-rec-10-end-of-life-med-exclusion" - }, + ], "code": { "coding": [ { @@ -201,7 +189,10 @@ } ] }, - "recordedDate": "2022-02-27" + "subject": { + "reference": "Patient/example-rec-10-end-of-life-med-exclusion" + }, + "recordedDate": "2022-06-04" } }, "item6": null, @@ -209,4 +200,4 @@ "item8": null, "item9": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json index d34001a6..3c12554b 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-10-illicit-POS-Cocaine-drugs-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-10-illicit-POS-Cocaine-drugs-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-10-illicit-POS-Cocaine-drugs-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -82,8 +84,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -102,13 +104,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-illicit-POS-Cocaine-drugs", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -122,9 +125,8 @@ ] } ], - "id": "example-rec-10-illicit-POS-Cocaine-drugs", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -137,13 +139,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -157,16 +160,17 @@ ] } ], - "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -179,7 +183,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-09-22", + "effectiveDateTime": "2021-12-28", "valueString": "POS", "interpretation": [ { @@ -196,13 +200,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -216,16 +221,17 @@ ] } ], - "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -239,7 +245,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-11-01", + "effectiveDateTime": "2022-02-06", "valueString": "NEG", "interpretation": [ { @@ -256,13 +262,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch-4", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -276,16 +283,17 @@ ] } ], - "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch-4", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -298,7 +306,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-10-23", + "effectiveDateTime": "2022-01-28", "valueString": "POS", "interpretation": [ { @@ -315,13 +323,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch-4", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -335,16 +344,17 @@ ] } ], - "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch-4", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -357,7 +367,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-10-23", + "effectiveDateTime": "2022-01-28", "valueString": "POS", "interpretation": [ { @@ -384,13 +394,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -404,14 +415,13 @@ ] } ], - "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-10-illicit-POS-Cocaine-drugs" }, "period": { - "start": "2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -423,13 +433,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch-5", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -443,17 +454,18 @@ ] } ], - "id": "example-rec-10-illicit-POS-Cocaine-drugs-prefetch-5", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -469,7 +481,7 @@ "encounter": { "reference": "Encounter/example-rec-10-illicit-POS-Cocaine-drugs-context" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -494,8 +506,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -508,4 +520,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json index a77be56e..5094afd8 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json @@ -1,493 +1,504 @@ { - "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", - "hook": "order-select", - "context": { - "userId": "Practitioner/example", - "patientId": "Patient/example-rec-10-non-synthetic-drug", - "encounterId": "Encounter/example-rec-10-non-synthetic-drug-context", - "selections": [ - "MedicationRequest/example-rec-10-non-synthetic-drug-context" - ], - "draftOrders": { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "hook": "order-select", + "context": { + "userId": "Practitioner/example", + "patientId": "Patient/example-rec-10-non-synthetic-drug", + "encounterId": "Encounter/example-rec-10-non-synthetic-drug-context", + "selections": [ + "MedicationRequest/example-rec-10-non-synthetic-drug-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-10-non-synthetic-drug-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - } - ], - "id": "example-rec-10-non-synthetic-drug-context", - "status": "active", - "intent": "order", - "category": { + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community" } ] - }, - "medicationCodeableConcept": { - "coding": [ + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-10-non-synthetic-drug" + }, + "encounter": { + "reference": "Encounter/example-rec-10-non-synthetic-drug-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, - "subject": { - "reference": "Patient/example-rec-10-non-synthetic-drug" - }, - "encounter": { - "reference": "Encounter/example-rec-10-non-synthetic-drug-context" - }, - "authoredOn": "2022-04-22", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-22", - "end": "2022-07-22" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } + }, + "prefetch": { + "item1": { + "response": { + "status": "200 OK" + }, + "resource": { + "resourceType": "Patient", + "id": "example-rec-10-non-synthetic-drug", + "gender": "female", + "birthDate": "1982-01-07" + } }, - "prefetch": { - "item1": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Patient", - "id": "example-rec-10-non-synthetic-drug", - "gender": "female", - "birthDate": "1982-01-07" - } + "item2": { + "response": { + "status": "200 OK" }, - "item2": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Bundle", - "entry": [ - { - "resource": { - "resourceType": "Observation", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-10-non-synthetic-drug-prefetch-obs1", - "status": "final", - "category": { - "coding": [ + "resource": { + "resourceType": "Bundle", + "entry": [ + { + "resource": { + "resourceType": "Observation", + "id": "example-rec-10-non-synthetic-drug-prefetch-obs1", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "code": { + } + ], + "status": "final", + "category": [ + { "coding": [ { - "system": "http://loinc.org", - "code": "8237-0", - "display": "Phencyclidine [Presence] in Urine by SAMHSA confirm method" + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" } ] - }, - "subject": { - "reference": "Patient/example-rec-10-non-synthetic-drug" - }, - "effectiveDateTime": "2022-04-15", - "valueString": "NEG", - "interpretation": [ + } + ], + "code": { + "coding": [ { - "coding": [ - { - "system": "http://hl7.org/fhir/v2/0078", - "code": "NEG" - } - ] + "system": "http://loinc.org", + "code": "8237-0", + "display": "Phencyclidine [Presence] in Urine by SAMHSA confirm method" } ] - } - }, - { - "resource": { - "resourceType": "Observation", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-10-non-synthetic-drug-prefetch-obs2", - "status": "final", - "category": { + }, + "subject": { + "reference": "Patient/example-rec-10-non-synthetic-drug" + }, + "effectiveDateTime": "2022-07-27", + "valueString": "NEG", + "interpretation": [ + { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" + "system": "http://hl7.org/fhir/v2/0078", + "code": "NEG" + } + ] + } + ] + } + }, + { + "resource": { + "resourceType": "Observation", + "id": "example-rec-10-non-synthetic-drug-prefetch-obs2", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "code": { + } + ], + "status": "final", + "category": [ + { "coding": [ { - "system": "http://loinc.org", - "version": "2.68", - "code": "11246-6", - "display": "oxyCODONE (U) [Mass/Vol]" + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" } ] - }, - "subject": { - "reference": "Patient/example-rec-10-non-synthetic-drug" - }, - "effectiveDateTime": "2022-01-22", - "valueString": "POS", - "interpretation": [ + } + ], + "code": { + "coding": [ { - "coding": [ - { - "system": "http://hl7.org/fhir/v2/0078", - "code": "POS" - } - ] + "system": "http://loinc.org", + "version": "2.68", + "code": "11246-6", + "display": "oxyCODONE (U) [Mass/Vol]" } ] - } - }, - { - "resource": { - "resourceType": "Observation", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-10-non-synthetic-drug-prefetch-obs2", - "status": "final", - "category": { + }, + "subject": { + "reference": "Patient/example-rec-10-non-synthetic-drug" + }, + "effectiveDateTime": "2022-05-05", + "valueString": "POS", + "interpretation": [ + { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" + "system": "http://hl7.org/fhir/v2/0078", + "code": "POS" + } + ] + } + ] + } + }, + { + "resource": { + "resourceType": "Observation", + "id": "example-rec-10-non-synthetic-drug-prefetch-obs2", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "code": { + } + ], + "status": "final", + "category": [ + { "coding": [ { - "system": "http://loinc.org", - "version": "2.68", - "code": "11246-6", - "display": "oxyCODONE (U) [Mass/Vol]" + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" } ] - }, - "subject": { - "reference": "Patient/example-rec-10-non-synthetic-drug" - }, - "effectiveDateTime": "2022-02-18", - "valueString": "POS", - "interpretation": [ + } + ], + "code": { + "coding": [ { - "coding": [ - { - "system": "http://hl7.org/fhir/v2/0078", - "code": "POS" - } - ] + "system": "http://loinc.org", + "version": "2.68", + "code": "11246-6", + "display": "oxyCODONE (U) [Mass/Vol]" } ] - } - }, - { - "resource": { - "resourceType": "Observation", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-10-non-synthetic-drug-prefetch-obs3", - "status": "final", - "category": { + }, + "subject": { + "reference": "Patient/example-rec-10-non-synthetic-drug" + }, + "effectiveDateTime": "2022-06-01", + "valueString": "POS", + "interpretation": [ + { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" + "system": "http://hl7.org/fhir/v2/0078", + "code": "POS" + } + ] + } + ] + } + }, + { + "resource": { + "resourceType": "Observation", + "id": "example-rec-10-non-synthetic-drug-prefetch-obs3", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "code": { + } + ], + "status": "final", + "category": [ + { "coding": [ { - "system": "http://loinc.org", - "version": "2.68", - "code": "11246-6", - "display": "oxyCODONE (U) [Mass/Vol]" + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" } ] - }, - "subject": { - "reference": "Patient/example-rec-10-non-synthetic-drug" - }, - "effectiveDateTime": "2022-03-01", - "valueString": "POS", - "interpretation": [ + } + ], + "code": { + "coding": [ { - "coding": [ - { - "system": "http://hl7.org/fhir/v2/0078", - "code": "POS" - } - ] + "system": "http://loinc.org", + "version": "2.68", + "code": "11246-6", + "display": "oxyCODONE (U) [Mass/Vol]" } ] - } - } - ] - } - }, - "item3": null, - "item4": null, - "item5": null, - "item6": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" - }, + }, + "subject": { + "reference": "Patient/example-rec-10-non-synthetic-drug" + }, + "effectiveDateTime": "2022-06-12", + "valueString": "POS", + "interpretation": [ { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "coding": [ + { + "system": "http://hl7.org/fhir/v2/0078", + "code": "POS" + } + ] } ] } - ], - "id": "example-rec-10-non-synthetic-drug-prefetch-3", - "status": "active", - "intent": "order", - "category": { - "coding": [ + } + ] + } + }, + "item3": null, + "item4": null, + "item5": null, + "item6": { + "response": { + "status": "200 OK" + }, + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-10-non-synthetic-drug-prefetch-3", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "994043", - "display": "acetaminophen 500 MG / codeine phosphate 15 MG Oral Tablet" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-10-non-synthetic-drug" - }, - "encounter": { - "reference": "Encounter/example-rec-10-non-synthetic-drug-prefetch" - }, - "authoredOn": "2022-01-22", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 3, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "tablet", - "system": "http://unitsofmeasure.org", - "code": "{tablet}" - } - } - ] + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "994043", + "display": "acetaminophen 500 MG / codeine phosphate 15 MG Oral Tablet" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-01-22", - "end": "2022-04-22" + ] + }, + "subject": { + "reference": "Patient/example-rec-10-non-synthetic-drug" + }, + "encounter": { + "reference": "Encounter/example-rec-10-non-synthetic-drug-prefetch" + }, + "authoredOn": "2022-05-05", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 3, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "tablet", + "system": "http://unitsofmeasure.org", + "code": "{tablet}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } + }, + "item7": { + "response": { + "status": "200 OK" }, - "item7": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "resource": { + "resourceType": "Encounter", + "id": "example-rec-10-non-synthetic-drug-prefetch", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - } - ], - "id": "example-rec-10-non-synthetic-drug-prefetch", - "status": "finished", - "subject": { - "reference": "Patient/example-rec-10-non-synthetic-drug" - }, - "period": { - "start": "2022-01-22", - "end": "2022-01-22" + } + ] } + ], + "status": "finished", + "subject": { + "reference": "Patient/example-rec-10-non-synthetic-drug" + }, + "period": { + "start": "2022-05-05", + "end": "2022-05-05" } - }, - "item8": null, - "item9": null - } + } + }, + "item8": null, + "item9": null } - \ No newline at end of file +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json index f96630d3..f40dab97 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-10-illicit-drugs-POS-Opiate-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-Opiate-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-10-illicit-drugs-POS-Opiate-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -82,8 +84,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -102,13 +104,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-illicit-drugs-POS-Opiate", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -122,9 +125,8 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-Opiate", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -137,13 +139,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-obs1", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -157,16 +160,17 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-obs1", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -179,7 +183,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2021-09-22", + "effectiveDateTime": "2021-12-28", "valueString": "NEG", "interpretation": [ { @@ -196,13 +200,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -216,16 +221,17 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -239,7 +245,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2021-11-01", + "effectiveDateTime": "2022-02-06", "valueString": "POS", "interpretation": [ { @@ -256,13 +262,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -276,16 +283,17 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -299,7 +307,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2021-12-01", + "effectiveDateTime": "2022-03-08", "valueString": "POS", "interpretation": [ { @@ -316,13 +324,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-obs3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -336,16 +345,17 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-obs3", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -359,7 +369,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2022-02-01", + "effectiveDateTime": "2022-05-09", "valueString": "NEG", "interpretation": [ { @@ -386,13 +396,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -406,14 +417,13 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-10-illicit-drugs-POS-Opiate" }, "period": { - "start": "2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -425,13 +435,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -445,17 +456,18 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-3", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -471,7 +483,7 @@ "encounter": { "reference": "Encounter/example-rec-10-illicit-drugs-POS-Opiate-prefetch" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -496,8 +508,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -510,4 +522,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json index 2676cdbd..34b888f8 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-10-illicit-drugs-POS-PCP-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-PCP-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-10-illicit-drugs-POS-PCP-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -82,8 +84,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -102,13 +104,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-illicit-drugs-POS-PCP", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -122,9 +125,8 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-PCP", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -137,13 +139,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-obs1", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -157,16 +160,17 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-obs1", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -179,7 +183,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-drugs-POS-PCP" }, - "effectiveDateTime": "2021-10-22", + "effectiveDateTime": "2022-01-27", "valueString": "POS", "interpretation": [ { @@ -196,13 +200,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -216,16 +221,17 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -239,7 +245,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-drugs-POS-PCP" }, - "effectiveDateTime": "2021-12-01", + "effectiveDateTime": "2022-03-08", "valueString": "NEG", "interpretation": [ { @@ -256,13 +262,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -276,16 +283,17 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -298,7 +306,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-drugs-POS-PCP" }, - "effectiveDateTime": "2021-12-01", + "effectiveDateTime": "2022-03-08", "valueString": "NEG", "interpretation": [ { @@ -315,13 +323,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-obs3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -335,16 +344,17 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-obs3", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -357,7 +367,7 @@ "subject": { "reference": "Patient/example-rec-10-illicit-drugs-POS-PCP" }, - "effectiveDateTime": "2021-11-23", + "effectiveDateTime": "2022-02-28", "valueString": "POS", "interpretation": [ { @@ -384,13 +394,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -404,14 +415,13 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-10-illicit-drugs-POS-PCP" }, "period": { - "start": "2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -423,13 +433,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -443,17 +454,18 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-3", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -469,7 +481,7 @@ "encounter": { "reference": "Encounter/example-rec-10-illicit-drugs-POS-PCP-prefetch" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -494,8 +506,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -508,4 +520,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json index 66d7163d..ebd4c6fe 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-10-no-screenings-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-10-no-screenings-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-10-no-screenings-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -68,20 +70,22 @@ } }, "asNeededBoolean": false, - "doseAndRate": { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } - } + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -100,13 +104,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-no-screenings", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -120,9 +125,8 @@ ] } ], - "id": "example-rec-10-no-screenings", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -136,13 +140,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-10-no-screenings-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -156,14 +161,13 @@ ] } ], - "id": "example-rec-10-no-screenings-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-10-no-screenings" }, "period": { - "start" :"2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -175,13 +179,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-no-screenings-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -195,17 +200,18 @@ ] } ], - "id": "example-rec-10-no-screenings-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -221,8 +227,7 @@ "encounter": { "reference": "Encounter/example-rec-10-no-screenings-prefetch" }, - "authoredOn": "2022-01-28", - + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -233,20 +238,22 @@ } }, "asNeededBoolean": false, - "doseAndRate": { - "doseQuantity": { - "value": 1.0, - "unit": "tablet", - "system": "http://unitsofmeasure.org", - "code": "{tablet}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "tablet", + "system": "http://unitsofmeasure.org", + "code": "{tablet}" + } } - } + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -259,4 +266,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json index 3037cc93..dfca0a06 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json @@ -12,13 +12,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-2-illicit-drugs-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -32,17 +33,18 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -58,7 +60,7 @@ "encounter": { "reference": "Encounter/example-rec-10-2-illicit-drugs-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -83,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -106,13 +108,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-2-illicit-drugs", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -126,9 +129,8 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -142,13 +144,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-10-2-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -162,14 +165,13 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-10-2-illicit-drugs" }, "period": { - "start" :"2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -183,13 +185,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-2-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -203,16 +206,17 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -225,7 +229,7 @@ "subject": { "reference": "Patient/example-rec-10-2-illicit-drugs" }, - "effectiveDateTime": "2021-11-22", + "effectiveDateTime": "2022-02-27", "valueString": "POS", "interpretation": [ { @@ -242,13 +246,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-2-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -262,16 +267,17 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -284,7 +290,7 @@ "subject": { "reference": "Patient/example-rec-10-2-illicit-drugs" }, - "effectiveDateTime": "2021-12-01", + "effectiveDateTime": "2022-03-08", "valueString": "NEG", "interpretation": [ { @@ -301,13 +307,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -321,16 +328,17 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -344,7 +352,7 @@ "subject": { "reference": "Patient/example-rec-10-2-illicit-drugs" }, - "effectiveDateTime": "2021-11-01", + "effectiveDateTime": "2022-02-06", "valueString": "POS", "interpretation": [ { @@ -361,13 +369,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-2-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -381,16 +390,17 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -403,7 +413,7 @@ "subject": { "reference": "Patient/example-rec-10-2-illicit-drugs" }, - "effectiveDateTime": "2021-12-23", + "effectiveDateTime": "2022-03-30", "valueString": "POS", "interpretation": [ { @@ -427,13 +437,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-2-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -447,17 +458,18 @@ ] } ], - "id": "example-rec-10-2-illicit-drugs-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -473,7 +485,7 @@ "encounter": { "reference": "Encounter/example-rec-10-2-illicit-drugs-prefetch" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -498,8 +510,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -512,4 +524,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json index e04f2bf8..3cb746a7 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json @@ -15,13 +15,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -35,17 +36,18 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -61,7 +63,7 @@ "encounter": { "reference": "Encounter/example-rec-10-order-sign-illicit-POS-Cocaine-drugs-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -84,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -107,13 +109,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -127,9 +130,8 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -143,13 +145,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -163,14 +166,13 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-10-order-sign-illicit-POS-Cocaine-drugs" }, "period": { - "start" :"2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -184,13 +186,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -204,16 +207,17 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -226,7 +230,7 @@ "subject": { "reference": "Patient/example-rec-10-order-sign-illicit-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-10-22", + "effectiveDateTime": "2022-01-27", "valueString": "POS", "interpretation": [ { @@ -243,13 +247,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-order-sign-illicit-POS-Cocaine-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -263,16 +268,17 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-POS-Cocaine-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -286,7 +292,7 @@ "subject": { "reference": "Patient/example-rec-10-order-sign-illicit-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-11-01", + "effectiveDateTime": "2022-02-06", "valueString": "NEG", "interpretation": [ { @@ -303,13 +309,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -323,16 +330,17 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -345,7 +353,7 @@ "subject": { "reference": "Patient/example-rec-10-order-sign-illicit-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-12-01", + "effectiveDateTime": "2022-03-08", "valueString": "NEG", "interpretation": [ { @@ -362,13 +370,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-prefetch-4", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -382,30 +391,30 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-prefetch-4", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { "system": "http://loinc.org", "code": "70146-6", "display": "Benzoylecgonine [Mass/volume] in Urine by Screen method" - } ] }, "subject": { "reference": "Patient/example-rec-10-order-sign-illicit-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-11-23", + "effectiveDateTime": "2022-02-28", "valueString": "POS", "interpretation": [ { @@ -429,13 +438,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-prefetch-5", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -449,17 +459,18 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-POS-Cocaine-drugs-prefetch-5", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -475,7 +486,7 @@ "encounter": { "reference": "Encounter/example-rec-10-order-sign-illicit-POS-Cocaine-drugs-context" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -498,8 +509,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -512,4 +523,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json index d6408bc9..0b1080b5 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-10-order-sign-illicit-drugs-POS-Opiate-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -73,8 +75,8 @@ "doseQuantity": { "value": 1.0, "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "system": "http://unitsofmeasure.org", + "code": "{patch}" } } ] @@ -82,8 +84,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -102,13 +104,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -122,9 +125,8 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -137,13 +139,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch-obs1", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -157,16 +160,17 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch-obs1", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -179,7 +183,7 @@ "subject": { "reference": "Patient/example-rec-10-order-sign-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2021-09-22", + "effectiveDateTime": "2021-12-28", "valueString": "NEG", "interpretation": [ { @@ -196,13 +200,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -216,16 +221,17 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -239,7 +245,7 @@ "subject": { "reference": "Patient/example-rec-10-order-sign-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2021-11-01", + "effectiveDateTime": "2022-02-06", "valueString": "POS", "interpretation": [ { @@ -256,13 +262,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -276,16 +283,17 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -299,7 +307,7 @@ "subject": { "reference": "Patient/example-rec-10-order-sign-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2021-12-01", + "effectiveDateTime": "2022-03-08", "valueString": "POS", "interpretation": [ { @@ -312,16 +320,18 @@ } ] } - }, { + }, + { "resource": { "resourceType": "Observation", + "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch-obs3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -335,16 +345,17 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch-obs3", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -358,7 +369,7 @@ "subject": { "reference": "Patient/example-rec-10-order-sign-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2022-02-01", + "effectiveDateTime": "2022-05-09", "valueString": "NEG", "interpretation": [ { @@ -385,13 +396,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -405,14 +417,13 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-10-order-sign-illicit-drugs-POS-Opiate" }, "period": { - "start" :"2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -424,13 +435,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch-3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -444,17 +456,18 @@ ] } ], - "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch-3", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -470,7 +483,7 @@ "encounter": { "reference": "Encounter/example-rec-10-order-sign-illicit-drugs-POS-Opiate-prefetch" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -486,8 +499,8 @@ "doseQuantity": { "value": 1.0, "unit": "tablet", - "system" : "http://unitsofmeasure.org", - "code" : "{tablet}" + "system": "http://unitsofmeasure.org", + "code": "{tablet}" } } ] @@ -495,8 +508,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -509,4 +522,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json index 8ffed4bb..6a866a28 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json @@ -12,13 +12,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-2-illicit-POS-PCP-drugs-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -32,17 +33,18 @@ ] } ], - "id": "example-rec-10-2-illicit-POS-PCP-drugs-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -58,7 +60,7 @@ "encounter": { "reference": "Encounter/example-rec-10-2-illicit-POS-PCP-drugs-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -74,8 +76,8 @@ "doseQuantity": { "value": 1.0, "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "system": "http://unitsofmeasure.org", + "code": "{patch}" } } ] @@ -83,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -106,13 +108,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-2-illicit-POS-PCP-drugs", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -126,9 +129,8 @@ ] } ], - "id": "example-rec-10-2-illicit-POS-PCP-drugs", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -142,13 +144,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-10-2-illicit-POS-PCP-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -162,14 +165,13 @@ ] } ], - "id": "example-rec-10-2-illicit-POS-PCP-drugs-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-10-2-illicit-POS-PCP-drugs" }, "period": { - "start" :"2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -183,13 +185,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-2-illicit-POS-PCP-drugs-prefetch-obs1", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -203,16 +206,17 @@ ] } ], - "id": "example-rec-10-2-illicit-POS-PCP-drugs-prefetch-obs1", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -225,7 +229,7 @@ "subject": { "reference": "Patient/example-rec-10-2-illicit-POS-PCP-drugs" }, - "effectiveDateTime": "2021-10-22", + "effectiveDateTime": "2022-01-27", "valueString": "POS", "interpretation": [ { @@ -242,13 +246,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-obs6", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -262,16 +267,17 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-PCP-prefetch-obs6", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -285,7 +291,7 @@ "subject": { "reference": "Patient/example-rec-10-2-illicit-POS-PCP-drugs" }, - "effectiveDateTime": "2021-11-01", + "effectiveDateTime": "2022-02-06", "valueString": "NEG", "interpretation": [ { @@ -302,13 +308,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-2-illicit-POS-PCP-drugs-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -322,16 +329,17 @@ ] } ], - "id": "example-rec-10-2-illicit-POS-PCP-drugs-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -344,7 +352,7 @@ "subject": { "reference": "Patient/example-rec-10-2-illicit-POS-PCP-drugs" }, - "effectiveDateTime": "2021-12-01", + "effectiveDateTime": "2022-03-08", "valueString": "NEG", "interpretation": [ { @@ -361,13 +369,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-2-illicit-POS-PCP-drugs-prefetch-obs3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -381,16 +390,17 @@ ] } ], - "id": "example-rec-10-2-illicit-POS-PCP-drugs-prefetch-obs3", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -403,7 +413,7 @@ "subject": { "reference": "Patient/example-rec-10-2-illicit-POS-PCP-drugs" }, - "effectiveDateTime": "2021-11-23", + "effectiveDateTime": "2022-02-28", "valueString": "POS", "interpretation": [ { @@ -427,13 +437,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-2-illicit-POS-PCP-drugs-prefetch-3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -447,17 +458,18 @@ ] } ], - "id": "example-rec-10-2-illicit-POS-PCP-drugs-prefetch-3", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -473,7 +485,7 @@ "encounter": { "reference": "Encounter/example-rec-10-2-illicit-POS-PCP-drugs-prefetch" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -489,8 +501,8 @@ "doseQuantity": { "value": 1.0, "unit": "tablet", - "system" : "http://unitsofmeasure.org", - "code" : "{tablet}" + "system": "http://unitsofmeasure.org", + "code": "{tablet}" } } ] @@ -498,8 +510,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -512,4 +524,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json index c3534a33..816c8fd1 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json @@ -12,13 +12,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-order-sign-no-screenings-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -32,17 +33,18 @@ ] } ], - "id": "example-rec-10-order-sign-no-screenings-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -58,7 +60,7 @@ "encounter": { "reference": "Encounter/example-rec-10-order-sign-no-screenings-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -69,20 +71,22 @@ } }, "asNeededBoolean": false, - "doseAndRate": { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } - } + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -104,13 +108,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-order-sign-no-screenings", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -124,9 +129,8 @@ ] } ], - "id": "example-rec-10-order-sign-no-screenings", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -140,13 +144,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-10-order-sign-no-screenings-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -160,14 +165,13 @@ ] } ], - "id": "example-rec-10-order-sign-no-screenings-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-10-order-sign-no-screenings" }, "period": { - "start" :"2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -179,13 +183,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-order-sign-no-screenings-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -199,17 +204,18 @@ ] } ], - "id": "example-rec-10-order-sign-no-screenings-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -225,7 +231,7 @@ "encounter": { "reference": "Encounter/example-rec-10-order-sign-no-screenings-prefetch" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -236,20 +242,22 @@ } }, "asNeededBoolean": false, - "doseAndRate": { - "doseQuantity": { - "value": 1.0, - "unit": "tablet", - "system" : "http://unitsofmeasure.org", - "code" : "{tablet}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "tablet", + "system": "http://unitsofmeasure.org", + "code": "{tablet}" + } } - } + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json index 668b4a71..4a82332c 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-patient-view-2-illicit-drugs", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,6 @@ ] } ], - "id": "example-rec-10-patient-view-2-illicit-drugs", - "gender": "female", - "birthDate": "1982-01-07", "name": [ { "family": "Smith", @@ -45,7 +43,9 @@ "A." ] } - ] + ], + "gender": "female", + "birthDate": "1982-04-20" } }, "item2": { @@ -65,7 +65,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -106,7 +106,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-2-illicit-drugs-encounter" }, - "authoredOn": "2022-01-22", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -122,8 +122,8 @@ "doseQuantity": { "value": 1.0, "unit": "tablet", - "system" : "http://unitsofmeasure.org", - "code" : "{tablet}" + "system": "http://unitsofmeasure.org", + "code": "{tablet}" } } ] @@ -131,8 +131,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-22", - "end": "2022-04-22" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -154,7 +154,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -195,7 +195,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-2-illicit-drugs-encounter" }, - "authoredOn": "2022-04-22", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -211,8 +211,8 @@ "doseQuantity": { "value": 1.0, "unit": "patch", - "system" : "http://unitsofmeasure.org", - "code" : "{patch}" + "system": "http://unitsofmeasure.org", + "code": "{patch}" } } ] @@ -220,8 +220,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-22", - "end": "2022-07-22" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -253,7 +253,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -268,14 +268,16 @@ } ], "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -288,7 +290,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-2-illicit-drugs" }, - "effectiveDateTime": "2021-11-22", + "effectiveDateTime": "2022-03-05", "valueString": "POS", "interpretation": [ { @@ -312,7 +314,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -327,14 +329,16 @@ } ], "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -347,7 +351,7 @@ "subject": { "reference": "Patient/xexample-rec-10-patient-view-2-illicit-drugs" }, - "effectiveDateTime": "2022-02-01", + "effectiveDateTime": "2022-05-15", "valueString": "NEG", "interpretation": [ { @@ -371,7 +375,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -386,14 +390,16 @@ } ], "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -407,7 +413,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-2-illicit-drugs" }, - "effectiveDateTime": "2021-11-01", + "effectiveDateTime": "2022-02-12", "valueString": "POS", "interpretation": [ { @@ -431,7 +437,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-22" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -446,14 +452,16 @@ } ], "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -466,7 +474,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-2-illicit-drugs" }, - "effectiveDateTime": "2021-12-23", + "effectiveDateTime": "2022-04-05", "valueString": "POS", "interpretation": [ { @@ -485,4 +493,4 @@ }, "item4": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json index ff9e3d96..03115bb4 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-patient-view-POS-Cocaine-drugs", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,6 @@ ] } ], - "id": "example-rec-10-patient-view-POS-Cocaine-drugs", - "gender": "female", - "birthDate": "1982-01-07", "name": [ { "family": "Smith", @@ -45,7 +43,9 @@ "A." ] } - ] + ], + "gender": "female", + "birthDate": "1982-04-14" } }, "item2": { @@ -58,13 +58,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-patient-view-POS-Cocaine-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -78,7 +79,6 @@ ] } ], - "id": "example-rec-10-patient-view-POS-Cocaine-drugs-prefetch", "status": "active", "intent": "order", "category": [ @@ -106,7 +106,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-POS-Cocaine-drugs-prefetch" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -131,8 +131,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -147,13 +147,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-patient-view-POS-Cocaine-drugs-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -167,7 +168,6 @@ ] } ], - "id": "example-rec-10-patient-view-POS-Cocaine-drugs-context", "status": "active", "intent": "order", "category": [ @@ -195,7 +195,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-POS-Cocaine-drugs-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -220,8 +220,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -246,13 +246,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-patient-view-POS-Cocaine-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -266,16 +267,17 @@ ] } ], - "id": "example-rec-10-patient-view-POS-Cocaine-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -288,7 +290,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-01-22", + "effectiveDateTime": "2021-04-29", "valueString": "POS", "interpretation": [ { @@ -305,13 +307,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-patient-view-POS-Cocaine-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -325,16 +328,17 @@ ] } ], - "id": "example-rec-10-patient-view-POS-Cocaine-drugs-prefetch", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -347,7 +351,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-03-01", + "effectiveDateTime": "2021-06-06", "valueString": "NEG", "interpretation": [ { @@ -364,13 +368,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -384,16 +389,17 @@ ] } ], - "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -407,7 +413,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-11-01", + "effectiveDateTime": "2022-02-06", "valueString": "NEG", "interpretation": [ { @@ -424,13 +430,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-patient-view-POS-Cocaine-drugs-prefetch-4", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -444,16 +451,17 @@ ] } ], - "id": "example-rec-10-patient-view-POS-Cocaine-drugs-prefetch-4", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -466,7 +474,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-POS-Cocaine-drugs" }, - "effectiveDateTime": "2021-02-23", + "effectiveDateTime": "2021-05-31", "valueString": "POS", "interpretation": [ { @@ -485,4 +493,4 @@ }, "item4": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json index 63feccef..ada8568f 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-patient-view-POS-PCP-drugs", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,6 @@ ] } ], - "id": "example-rec-10-patient-view-POS-PCP-drugs", - "gender": "female", - "birthDate": "1982-01-07", "name": [ { "family": "Smith", @@ -45,7 +43,9 @@ "A." ] } - ] + ], + "gender": "female", + "birthDate": "1982-04-14" } }, "item2": { @@ -58,13 +58,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-patient-view-POS-PCP-drugs-medreq", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -78,7 +79,6 @@ ] } ], - "id": "example-rec-10-patient-view-POS-PCP-drugs-medreq", "status": "active", "intent": "order", "category": [ @@ -106,7 +106,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-POS-PCP-drugs-encounter" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -131,8 +131,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -147,13 +147,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-patient-view-POS-PCP-drugs-medreq2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -167,7 +168,6 @@ ] } ], - "id": "example-rec-10-patient-view-POS-PCP-drugs-medreq2", "status": "active", "intent": "order", "category": [ @@ -195,7 +195,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-POS-PCP-drugs-encounter" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -220,8 +220,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -246,13 +246,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-patient-view-POS-PCP-drugs-obs1", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -266,16 +267,17 @@ ] } ], - "id": "example-rec-10-patient-view-POS-PCP-drugs-obs1", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -288,7 +290,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-POS-PCP-drugs" }, - "effectiveDateTime": "2021-11-22", + "effectiveDateTime": "2022-02-27", "valueString": "POS", "interpretation": [ { @@ -305,13 +307,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-POS-PCP-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -325,16 +328,17 @@ ] } ], - "id": "example-rec-10-illicit-drugs-POS-PCP-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -348,7 +352,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-POS-PCP-drugs" }, - "effectiveDateTime": "2021-12-01", + "effectiveDateTime": "2022-03-08", "valueString": "NEG", "interpretation": [ { @@ -365,13 +369,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-patient-view-POS-PCP-drugs-obs3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -385,16 +390,17 @@ ] } ], - "id": "example-rec-10-patient-view-POS-PCP-drugs-obs3", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -407,7 +413,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-POS-PCP-drugs" }, - "effectiveDateTime": "2022-02-01", + "effectiveDateTime": "2022-05-09", "valueString": "NEG", "interpretation": [ { @@ -424,13 +430,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-patient-view-POS-PCP-drugs-obs4", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -444,16 +451,17 @@ ] } ], - "id": "example-rec-10-patient-view-POS-PCP-drugs-obs4", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -466,7 +474,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-POS-PCP-drugs" }, - "effectiveDateTime": "2021-12-23", + "effectiveDateTime": "2022-03-30", "valueString": "POS", "interpretation": [ { @@ -485,4 +493,4 @@ }, "item4": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json index ff0449b9..9d33b423 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-end-of-life-med-exclusion", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,8 @@ ] } ], - "id": "example-rec-10-end-of-life-med-exclusion", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -45,13 +45,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-end-of-life-med-exclusion-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -65,17 +66,18 @@ ] } ], - "id": "example-rec-10-end-of-life-med-exclusion-context", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -91,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-10-end-of-life-med-exclusion-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -116,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -137,13 +139,14 @@ }, "resource": { "resourceType": "Condition", + "id": "EndOfLifeCondition", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -157,16 +160,6 @@ ] } ], - "id": "EndOfLifeCondition", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } - ] - }, "clinicalStatus": { "coding": [ { @@ -176,20 +169,17 @@ } ] }, - "verificationStatus": { - "code": { + "category": [ + { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", - "code": "confirmed", - "display": "Confirmed" + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" } ] } - }, - "subject": { - "reference": "Patient/example-rec-10-end-of-life-med-exclusion" - }, + ], "code": { "coding": [ { @@ -200,9 +190,12 @@ } ] }, - "recordedDate": "2022-02-27" + "subject": { + "reference": "Patient/example-rec-10-end-of-life-med-exclusion" + }, + "recordedDate": "2022-06-04" } }, "item6": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json index c03be7f4..88293581 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json @@ -11,13 +11,14 @@ ], "draftOrders": { "resourceType": "MedicationRequest", + "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-medreq1", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -31,17 +32,18 @@ ] } ], - "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-medreq1", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -57,7 +59,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-illicit-drugs-POS-Opiate-encounter" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -82,8 +84,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -102,13 +104,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -122,9 +125,8 @@ ] } ], - "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -137,13 +139,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-prefetch-obs1", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -157,16 +160,17 @@ ] } ], - "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-prefetch-obs1", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -179,7 +183,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2021-09-22", + "effectiveDateTime": "2021-12-28", "valueString": "NEG", "interpretation": [ { @@ -196,13 +200,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -216,16 +221,17 @@ ] } ], - "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -239,7 +245,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2021-11-01", + "effectiveDateTime": "2022-02-06", "valueString": "POS", "interpretation": [ { @@ -256,13 +262,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-prefetch-obs2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -276,16 +283,17 @@ ] } ], - "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-prefetch-obs2", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -299,7 +307,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2021-12-01", + "effectiveDateTime": "2022-03-08", "valueString": "POS", "interpretation": [ { @@ -316,13 +324,14 @@ { "resource": { "resourceType": "Observation", + "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-prefetch-obs3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -336,16 +345,17 @@ ] } ], - "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-prefetch-obs3", "status": "final", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], "code": { "coding": [ { @@ -359,7 +369,7 @@ "subject": { "reference": "Patient/example-rec-10-patient-view-illicit-drugs-POS-Opiate" }, - "effectiveDateTime": "2022-02-01", + "effectiveDateTime": "2022-05-09", "valueString": "NEG", "interpretation": [ { @@ -386,13 +396,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-encounter", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -406,14 +417,13 @@ ] } ], - "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-encounter", "status": "finished", "subject": { "reference": "Patient/example-rec-10-patient-view-illicit-drugs-POS-Opiate" }, "period": { - "start": "2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, @@ -425,13 +435,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-medreq2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -445,17 +456,18 @@ ] } ], - "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-medreq2", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -471,7 +483,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-illicit-drugs-POS-Opiate-encounter" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -496,8 +508,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -510,4 +522,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json index de4221c6..24296ef2 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-illicit-drugs", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,6 @@ ] } ], - "id": "example-rec-10-illicit-drugs", - "gender": "female", - "birthDate": "1982-01-07", "name": [ { "family": "Smith", @@ -45,7 +43,9 @@ "A." ] } - ] + ], + "gender": "female", + "birthDate": "1982-04-14" } }, "item2": { @@ -58,13 +58,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -78,7 +79,6 @@ ] } ], - "id": "example-rec-10-illicit-drugs-prefetch", "status": "active", "intent": "order", "category": [ @@ -106,7 +106,7 @@ "encounter": { "reference": "Encounter/example-rec-10-illicit-drugs-prefetch" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -131,8 +131,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -147,13 +147,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-illicit-drugs-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -167,7 +168,6 @@ ] } ], - "id": "example-rec-10-illicit-drugs-context", "status": "active", "intent": "order", "category": [ @@ -195,7 +195,7 @@ "encounter": { "reference": "Encounter/example-rec-10-illicit-drugs-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -220,8 +220,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -242,13 +242,14 @@ }, "resource": { "resourceType": "Observation", + "id": "example-rec-10-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -262,7 +263,6 @@ ] } ], - "id": "example-rec-10-illicit-drugs-prefetch", "status": "final", "code": { "coding": [ @@ -276,17 +276,19 @@ "subject": { "reference": "Patient/example-rec-10-illicit-drugs" }, - "effectiveDateTime": "2022-04-01", - "interpretation": { - "coding": [ - { - "system": "http://hl7.org/fhir/v2/0078", - "code": "POS" - } - ] - } + "effectiveDateTime": "2022-07-07", + "interpretation": [ + { + "coding": [ + { + "system": "http://hl7.org/fhir/v2/0078", + "code": "POS" + } + ] + } + ] } }, "item4": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json index 8a8588b4..107cc1de 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-no-screenings", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,8 @@ ] } ], - "id": "example-rec-10-no-screenings", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -50,13 +50,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-no-screenings-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -70,7 +71,6 @@ ] } ], - "id": "example-rec-10-no-screenings-context", "status": "active", "intent": "order", "category": [ @@ -93,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-10-no-screenings-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -118,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -134,13 +134,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-no-screenings-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -154,7 +155,6 @@ ] } ], - "id": "example-rec-10-no-screenings-prefetch", "status": "active", "intent": "order", "category": [ @@ -177,7 +177,7 @@ "encounter": { "reference": "Encounter/example-rec-10-no-screenings-prefetch" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -202,8 +202,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -221,4 +221,4 @@ "item3": null, "item4": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json index 24279d97..c6c13485 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-10-patient-view-no-screenings", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,8 @@ ] } ], - "id": "example-rec-10-patient-view-no-screenings", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -50,13 +50,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-patient-view-no-screenings-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -70,7 +71,6 @@ ] } ], - "id": "example-rec-10-patient-view-no-screenings-context", "status": "active", "intent": "order", "category": [ @@ -98,7 +98,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-no-screenings-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -123,8 +123,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -139,13 +139,14 @@ { "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-10-patient-view-no-screenings-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -159,7 +160,6 @@ ] } ], - "id": "example-rec-10-patient-view-no-screenings-prefetch", "status": "active", "intent": "order", "category": [ @@ -187,7 +187,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-no-screenings-prefetch" }, - "authoredOn": "2022-01-28", + "authoredOn": "2022-05-05", "dosageInstruction": [ { "timing": { @@ -212,8 +212,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-01-28", - "end": "2022-04-28" + "start": "2022-05-05T00:00:00-06:00", + "end": "2022-08-03T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -231,4 +231,4 @@ "item3": null, "item4": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json index 910ee393..315c4b35 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json @@ -6,92 +6,95 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-11-benzo-trigger-with-opioid", "encounterId": "Encounter/example-rec-11-benzo-trigger-with-opioid-context", - "selections": [ "MedicationRequest/example-rec-11-benzo-trigger-with-opioid-context" ], - "draftOrders": + "selections": [ + "MedicationRequest/example-rec-11-benzo-trigger-with-opioid-context" + ], + "dosageInstruction": [ { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" } - ], - "id": "example-rec-11-benzo-trigger-with-opioid-context", - "status": "active", - "intent": "order", - "category": { - "coding": [ + }, + "asNeededBoolean": false, + "doseAndRate": { + "doseQuantity": { + "value": 1.0, + "unit": "capsule", + "system": "http://unitsofmeasure.org", + "code": "{capsule}" + } + } + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-04-28", + "end": "2022-07-28" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + }, + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-11-benzo-trigger-with-opioid-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1298088", - "display": "Flurazepam Hydrochloride 15 MG Oral Capsule" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-11-benzo-trigger-with-opioid" - }, - "encounter": { - "reference": "Encounter/example-rec-11-benzo-trigger-with-opioid-context" - }, - "authoredOn": "2022-04-28" - }, - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": { - "doseQuantity": { - "value": 1.0, - "unit": "capsule", - "system" : "http://unitsofmeasure.org", - "code" : "{capsule}" - } - } + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1298088", + "display": "Flurazepam Hydrochloride 15 MG Oral Capsule" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] }, + "subject": { + "reference": "Patient/example-rec-11-benzo-trigger-with-opioid" + }, + "encounter": { + "reference": "Encounter/example-rec-11-benzo-trigger-with-opioid-context" + }, + "authoredOn": "2022-08-03" + } + }, "prefetch": { "item1": { "response": { @@ -99,13 +102,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-11-benzo-trigger-with-opioid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -119,9 +123,8 @@ ] } ], - "id": "example-rec-11-benzo-trigger-with-opioid", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -135,13 +138,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-11-benzo-trigger-with-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -155,14 +159,13 @@ ] } ], - "id": "example-rec-11-benzo-trigger-with-opioid-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-11-benzo-trigger-with-opioid" }, "period": { - "start" :"2022-04-01", - "end": "2022-04-01" + "start": "2022-07-07", + "end": "2022-07-07" } } }, @@ -173,13 +176,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-11-benzo-trigger-with-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -193,17 +197,18 @@ ] } ], - "id": "example-rec-11-benzo-trigger-with-opioid-prefetch", "status": "active", "intent": "order", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], "medicationCodeableConcept": { "coding": [ { @@ -219,7 +224,8 @@ "encounter": { "reference": "Encounter/example-rec-11-benzo-trigger-with-opioid-prefetch" }, - "authoredOn": "2022-04-28", "dosageInstruction": [ + "authoredOn": "2022-08-03", + "dosageInstruction": [ { "timing": { "repeat": { @@ -229,20 +235,22 @@ } }, "asNeededBoolean": false, - "doseAndRate": { - "doseQuantity": { - "value": 1.0, - "unit": "tablet", - "system" : "http://unitsofmeasure.org", - "code" : "{tablet}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "tablet", + "system": "http://unitsofmeasure.org", + "code": "{tablet}" + } } - } + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -255,4 +263,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json index bdfbd09c..3ce827e1 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json @@ -6,91 +6,96 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-11-benzo-trigger-without-opioid", "encounterId": "Encounter/example-rec-11-benzo-trigger-without-opioid-context", - "selections": [ "MedicationRequest/example-rec-11-benzo-trigger-without-opioid-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-11-benzo-trigger-without-opioid-context", - "status": "active", - "intent": "order", - "category": { - "coding": [ + "selections": [ + "MedicationRequest/example-rec-11-benzo-trigger-without-opioid-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-11-benzo-trigger-without-opioid-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } ] - }, - "medicationCodeableConcept": { + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1298088", - "display": "Flurazepam Hydrochloride 15 MG Oral Capsule" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "Patient/example-rec-11-benzo-trigger-without-opioid" - }, - "encounter": { - "reference": "Encounter/example-rec-11-benzo-trigger-without-opioid-context" - }, - "authoredOn": "2022-04-28", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1298088", + "display": "Flurazepam Hydrochloride 15 MG Oral Capsule" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-11-benzo-trigger-without-opioid" + }, + "encounter": { + "reference": "Encounter/example-rec-11-benzo-trigger-without-opioid-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { "doseQuantity": { "value": 1.0, "unit": "capsule", - "system" : "http://unitsofmeasure.org", - "code" : "{capsule}" + "system": "http://unitsofmeasure.org", + "code": "{capsule}" } } - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -99,13 +104,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-11-benzo-trigger-without-opioid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -119,9 +125,8 @@ ] } ], - "id": "example-rec-11-benzo-trigger-without-opioid", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -133,4 +138,4 @@ "item8": null, "item9": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json index 99ef0c23..1bfb20b7 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json @@ -6,95 +6,96 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-11-opioid-trigger-with-benzo", "encounterId": "Encounter/example-rec-11-opioid-trigger-with-benzo-context", - "selections": [ "MedicationRequest/example-rec-11-opioid-trigger-with-benzo-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-11-opioid-trigger-with-benzo-context", - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "selections": [ + "MedicationRequest/example-rec-11-opioid-trigger-with-benzo-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-11-opioid-trigger-with-benzo-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - } - ], - "medicationCodeableConcept": { + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "example-rec-11-opioid-trigger-with-benzo-context" - }, - "encounter": { - "reference": "Encounter/example-rec-11-opioid-trigger-with-benzo-context" - }, - "authoredOn": "2022-04-28", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "tablet", - "system" : "http://unitsofmeasure.org", - "code" : "{tablet}" - } - } - ] + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + ] + }, + "subject": { + "reference": "example-rec-11-opioid-trigger-with-benzo-context" + }, + "encounter": { + "reference": "Encounter/example-rec-11-opioid-trigger-with-benzo-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "tablet", + "system": "http://unitsofmeasure.org", + "code": "{tablet}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -103,13 +104,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-11-opioid-trigger-with-benzo", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -123,9 +125,8 @@ ] } ], - "id": "example-rec-11-opioid-trigger-with-benzo", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -136,13 +137,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-11-opioid-trigger-with-benzo-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -156,7 +158,6 @@ ] } ], - "id": "example-rec-11-opioid-trigger-with-benzo-prefetch", "status": "active", "intent": "order", "category": [ @@ -184,7 +185,7 @@ "encounter": { "reference": "Encounter/example-rec-11-opioid-trigger-with-benzo-prefetch" }, - "authoredOn": "2022-04-01", + "authoredOn": "2022-07-07", "dosageInstruction": [ { "timing": { @@ -200,8 +201,8 @@ "doseQuantity": { "value": 1.0, "unit": "capsule", - "system" : "http://unitsofmeasure.org", - "code" : "{capsule}" + "system": "http://unitsofmeasure.org", + "code": "{capsule}" } } ] @@ -209,8 +210,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-01", - "end": "2022-07-28" + "start": "2022-07-07T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -230,13 +231,14 @@ }, "resource": { "resourceType": "Encounter", + "id": "example-rec-11-opioid-trigger-with-benzo-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -250,18 +252,17 @@ ] } ], - "id": "example-rec-11-opioid-trigger-with-benzo-prefetch", "status": "finished", "subject": { "reference": "Patient/example-rec-11-opioid-trigger-with-benzo" }, "period": { - "start" :"2022-01-28", - "end": "2022-01-28" + "start": "2022-05-05", + "end": "2022-05-05" } } }, "item8": null, "item9": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json index 5215d3f0..05ae1370 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json @@ -6,95 +6,96 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-11-opioid-trigger-without-benzo", "encounterId": "Encounter/example-rec-11-opioid-trigger-without-benzo-context", - "selections": [ "MedicationRequest/example-rec-11-opioid-trigger-without-benzo-context" ], - "draftOrders": - { - "resourceType": "MedicationRequest", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-11-opioid-trigger-without-benzo-context", - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" + "selections": [ + "MedicationRequest/example-rec-11-opioid-trigger-without-benzo-context" + ], + "draftOrders": { + "resourceType": "MedicationRequest", + "id": "example-rec-11-opioid-trigger-without-benzo-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - } - ], - "medicationCodeableConcept": { + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } ] - }, - "subject": { - "reference": "example-rec-11-opioid-trigger-without-benzo-context" - }, - "encounter": { - "reference": "Encounter/example-rec-11-opioid-trigger-without-benzo-context" - }, - "authoredOn": "2022-04-28", - "dosageInstruction": [ + } + ], + "medicationCodeableConcept": { + "coding": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "tablet", - "system" : "http://unitsofmeasure.org", - "code" : "{tablet}" - } - } - ] + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + ] + }, + "subject": { + "reference": "example-rec-11-opioid-trigger-without-benzo-context" + }, + "encounter": { + "reference": "Encounter/example-rec-11-opioid-trigger-without-benzo-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "tablet", + "system": "http://unitsofmeasure.org", + "code": "{tablet}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } + } }, "prefetch": { "item1": { @@ -103,13 +104,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-11-opioid-trigger-without-benzo", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -123,9 +125,8 @@ ] } ], - "id": "example-rec-11-opioid-trigger-without-benzo", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": null, @@ -137,4 +138,4 @@ "item8": null, "item9": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json index f50ed94b..3634a640 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-11-benzo-trigger-with-opioid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,8 @@ ] } ], - "id": "example-rec-11-benzo-trigger-with-opioid", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -45,13 +45,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-11-benzo-trigger-with-opioid-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -65,7 +66,6 @@ ] } ], - "id": "example-rec-11-benzo-trigger-with-opioid-context", "status": "active", "intent": "order", "category": [ @@ -93,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-11-benzo-trigger-with-opioid-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -118,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -137,13 +137,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-11-benzo-trigger-with-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -157,7 +158,6 @@ ] } ], - "id": "example-rec-11-benzo-trigger-with-opioid-prefetch", "status": "active", "intent": "order", "category": [ @@ -185,7 +185,7 @@ "encounter": { "reference": "Encounter/example-rec-11-benzo-trigger-with-opioid-prefetch" }, - "authoredOn": "2022-04-01", + "authoredOn": "2022-07-07", "dosageInstruction": [ { "timing": { @@ -210,8 +210,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-01", - "end": "2022-07-28" + "start": "2022-07-07T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -224,4 +224,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json index 46722635..e38bb1db 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-11-benzo-trigger-without-opioid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,8 @@ ] } ], - "id": "example-rec-11-benzo-trigger-without-opioid", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -45,13 +45,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-11-benzo-trigger-without-opioid-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -65,7 +66,6 @@ ] } ], - "id": "example-rec-11-benzo-trigger-without-opioid-context", "status": "active", "intent": "order", "category": [ @@ -93,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-11-benzo-trigger-without-opioid-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -118,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -133,4 +133,4 @@ }, "item3": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json index d6231950..09d6f9a4 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-11-opioid-trigger-with-benzo", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,8 @@ ] } ], - "id": "example-rec-11-opioid-trigger-with-benzo", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -45,13 +45,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-11-opioid-trigger-with-benzo-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -65,7 +66,6 @@ ] } ], - "id": "example-rec-11-opioid-trigger-with-benzo-prefetch", "status": "active", "intent": "order", "category": [ @@ -93,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-11-opioid-trigger-with-benzo-prefetch" }, - "authoredOn": "2022-04-01", + "authoredOn": "2022-07-07", "dosageInstruction": [ { "timing": { @@ -118,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-01", - "end": "2022-07-28" + "start": "2022-07-07T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -137,13 +137,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-11-opioid-trigger-with-benzo-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -157,7 +158,6 @@ ] } ], - "id": "example-rec-11-opioid-trigger-with-benzo-context", "status": "active", "intent": "order", "category": [ @@ -185,7 +185,7 @@ "encounter": { "reference": "Encounter/example-rec-11-opioid-trigger-with-benzo-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -210,8 +210,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -224,4 +224,4 @@ } } } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json index d3e7ebe7..71549228 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json @@ -14,13 +14,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-11-opioid-trigger-without-benzo", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,9 +35,8 @@ ] } ], - "id": "example-rec-11-opioid-trigger-without-benzo", "gender": "female", - "birthDate": "1982-01-07" + "birthDate": "1982-04-14" } }, "item2": { @@ -45,13 +45,14 @@ }, "resource": { "resourceType": "MedicationRequest", + "id": "example-rec-11-opioid-trigger-without-benzo-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -65,7 +66,6 @@ ] } ], - "id": "example-rec-11-opioid-trigger-without-benzo-context", "status": "active", "intent": "order", "category": [ @@ -93,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-11-opioid-trigger-without-benzo-context" }, - "authoredOn": "2022-04-28", + "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -118,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -133,4 +133,4 @@ }, "item3": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json index 8926b2de..54d061d7 100644 --- a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json @@ -2,7 +2,6 @@ "hookInstance": "17ff4874-b68a-490c-abaa-b62b1a91b1bd", "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-select", - "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-12-criteria-valid" @@ -14,13 +13,14 @@ }, "resource": { "resourceType": "Patient", + "id": "example-rec-12-criteria-valid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -34,8 +34,7 @@ ] } ], - "id": "example-rec-12-criteria-valid", - "birthDate": "2002-04-28" + "birthDate": "2002-08-03" } }, "item2": null, @@ -45,13 +44,14 @@ }, "resource": { "resourceType": "Condition", + "id": "6bf0522c-e143-43e2-af80-47536d52de0c", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" + "valueDateTime": "2022-08-03" }, { "url": "frequency", @@ -65,16 +65,6 @@ ] } ], - "id": "6bf0522c-e143-43e2-af80-47536d52de0c", - "category": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } - ] - }, "clinicalStatus": { "coding": [ { @@ -84,20 +74,17 @@ } ] }, - "verificationStatus": { - "code": { + "category": [ + { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", - "code": "confirmed", - "display": "Confirmed" + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" } ] } - }, - "subject": { - "reference": "Patient/example-rec-12-criteria-valid" - }, + ], "code": { "coding": [ { @@ -107,10 +94,13 @@ } ] }, - "recordedDate": "2022-02-28" + "subject": { + "reference": "Patient/example-rec-12-criteria-valid" + }, + "recordedDate": "2022-06-05" } }, "item4": null, "item5": null } -} +} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json index 8728c483..209f49c0 100644 --- a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json +++ b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json @@ -1,86 +1,74 @@ { - "hookInstance": "3d75f421-9eeb-46d0-aa18-9aa9c720833a", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", - "hook": "order-select", - - "context": { - "userId": "Practitioner/example", - "patientId": "Patient/example-rec-12-criteria-invalid" + "hookInstance": "3d75f421-9eeb-46d0-aa18-9aa9c720833a", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "hook": "order-select", + "context": { + "userId": "Practitioner/example", + "patientId": "Patient/example-rec-12-criteria-invalid" + }, + "prefetch": { + "item1": { + "response": { + "status": "200 OK" + }, + "resource": { + "resourceType": "Patient", + "id": "example-rec-12-criteria-invalid", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "birthDate": "2002-08-03" + } }, - "prefetch": { - "item1": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-04-28" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "id": "example-rec-12-criteria-invalid", - "birthDate": "2002-04-28" + "item2": null, + "item3": { + "response": { + "status": "200 OK" + }, + "resource": { + "resourceType": "Condition", + "id": "64615597-1124-44bf-b0a5-ae5e45b45ea8", + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "active", + "display": "Active Condition" } + ] }, - "item2": null, - "item3": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Condition", - "id": "64615597-1124-44bf-b0a5-ae5e45b45ea8", - "clinicalStatus": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "active", - "display": "Active Condition" - } - ] - }, - "verificationStatus": { - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", - "code": "confirmed", - "display": "Confirmed" - } - ] - } - }, - "subject": { - "reference": "Patient/example-rec-12-criteria-invalid" - }, - "code": { - "coding": [ - { - "system": "TODO", - "code": "Not In VS", - "display": "Opioid Misuse Disorders" - } - ] - } + "code": { + "coding": [ + { + "system": "TODO", + "code": "Not In VS", + "display": "Opioid Misuse Disorders" } + ] }, - "item4": null, - "item5": null - } -} + "subject": { + "reference": "Patient/example-rec-12-criteria-invalid" + } + } + }, + "item4": null, + "item5": null + } +} \ No newline at end of file From 1d7537bd675eefe20264dd355c2385ecf1f47bbb Mon Sep 17 00:00:00 2001 From: c-schuler Date: Wed, 17 Aug 2022 15:28:16 -0600 Subject: [PATCH 04/24] Updated requests --- ...t-example-rec-01-in-outpatient-opioid.json | 142 +- ...t-example-rec-01-out-inpatient-opioid.json | 142 +- ...-example-rec-02-in-careplan-revisited.json | 142 +- ...ple-rec-02-out-careplan-not-revisited.json | 142 +- ...ec-03-in-no-counseling-within-90-days.json | 134 +- ...-rec-03-out-counseling-within-90-days.json | 139 +- ...est-example-rec-04-long-acting-opioid.json | 160 +- .../request-example-rec-04-new-patient.json | 160 +- ...example-rec-04-not-long-acting-opioid.json | 160 +- ...le-rec-04-opioid-with-abuse-potential.json | 160 +- ...example-rec-05-mme-greater-than-fifty.json | 140 +- ...st-example-rec-05-mme-less-than-fifty.json | 140 +- ...equest-example-rec-06-in-criteria-met.json | 142 +- ...e-rec-06-out-extended-release-27-days.json | 142 +- ...-example-rec-07-end-of-life-exclusion.json | 140 +- ...equest-example-rec-07-risk-assessment.json | 140 +- ...example-rec-07-seven-of-past-ten-days.json | 140 +- ...t-example-rec-07-six-of-past-ten-days.json | 140 +- ...rec-07-sixtythree-of-past-ninety-days.json | 138 +- ...e-rec-07-sixtytwo-of-past-ninety-days.json | 138 +- ...example-rec-08-mme-greater-than-fifty.json | 168 +- ...st-example-rec-08-mme-less-than-fifty.json | 156 +- ...uest-example-rec-08-multiple-doseRate.json | 246 +- ...uest-example-rec-08-on-benzodiazepine.json | 156 +- .../request-example-rec-08-on-naloxone.json | 156 +- ...equest-example-rec-08-substance-abuse.json | 168 +- ...ample-rec-08-order-sign-mme-doseRange.json | 197 +- ...-08-order-sign-mme-greater-than-fifty.json | 171 +- ...rec-08-order-sign-mme-less-than-fifty.json | 159 +- ...e-rec-08-order-sign-multiple-doseRate.json | 249 +- ...e-rec-08-order-sign-on-benzodiazepine.json | 159 +- ...example-rec-08-order-sign-on-naloxone.json | 159 +- ...ple-rec-08-order-sign-substance-abuse.json | 171 +- ...equest-example-rec-09-in-criteria-met.json | 134 +- ...xample-rec-09-out-PDMP-review-90-days.json | 134 +- ...equest-example-rec-10-2-illicit-drugs.json | 158 +- ...mple-rec-10-end-of-life-med-exclusion.json | 158 +- ...mple-rec-10-illicit-drugs-POS-Cocaine.json | 158 +- ...llicit-drugs-POS-Opiate-non-synthetic.json | 158 +- ...ample-rec-10-illicit-drugs-POS-Opiate.json | 158 +- ...-example-rec-10-illicit-drugs-POS-PCP.json | 158 +- .../request-example-rec-10-no-screenings.json | 158 +- ...ple-rec-10-order-sign-2-illicit-drugs.json | 1 + ...-order-sign-illicit-drugs-POS-Cocaine.json | 4 +- ...0-order-sign-illicit-drugs-POS-Opiate.json | 161 +- ...c-10-order-sign-illicit-drugs-POS-PCP.json | 1 + ...ample-rec-10-order-sign-no-screenings.json | 1 + ...patient-view-illicit-drugs-POS-Opiate.json | 92 +- ...mple-rec-11-benzo-trigger-with-opioid.json | 156 +- ...e-rec-11-benzo-trigger-without-opioid.json | 158 +- ...mple-rec-11-opioid-trigger-with-benzo.json | 158 +- ...e-rec-11-opioid-trigger-without-benzo.json | 158 +- ...e-rec-12-patient-view-in-criteria-met.json | 2 +- ...rec-12-patient-view-out-opioid-misuse.json | 2 +- thunder-tests/thunderActivity.json | 1 + thunder-tests/thunderCollection.json | 115 + thunder-tests/thunderEnvironment.json | 1 + thunder-tests/thunderclient.json | 2102 +++++++++++++++++ 58 files changed, 6084 insertions(+), 3599 deletions(-) create mode 100644 thunder-tests/thunderActivity.json create mode 100644 thunder-tests/thunderCollection.json create mode 100644 thunder-tests/thunderEnvironment.json create mode 100644 thunder-tests/thunderclient.json diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json index 21d5f9bf..8d7c51d4 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json @@ -9,82 +9,90 @@ "MedicationRequest/05f8cb26-2eb6-4124-b65d-bb1f13e21c49" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "05f8cb26-2eb6-4124-b65d-bb1f13e21c49", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "05f8cb26-2eb6-4124-b65d-bb1f13e21c49", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-01-true-make-recommendations" + }, + "encounter": { + "reference": "Encounter/example-rec-01-in-outpatient-opioid-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ] - }, - "subject": { - "reference": "Patient/example-rec-01-true-make-recommendations" - }, - "encounter": { - "reference": "Encounter/example-rec-01-in-outpatient-opioid-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json index f34d7627..c7107ed0 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json @@ -9,82 +9,90 @@ "MedicationRequest/4d2b4402-022e-4f69-813e-ab16934286a6" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "4d2b4402-022e-4f69-813e-ab16934286a6", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "4d2b4402-022e-4f69-813e-ab16934286a6", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "inpatient", + "display": "Inpatient" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-01-false-due-to-inpatient-opioid" + }, + "encounter": { + "reference": "Encounter/example-rec-01-in-inpatient-opioid-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "inpatient", - "display": "Inpatient" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ] - }, - "subject": { - "reference": "Patient/example-rec-01-false-due-to-inpatient-opioid" - }, - "encounter": { - "reference": "Encounter/example-rec-01-in-inpatient-opioid-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json index 97af160c..92836be5 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json @@ -9,82 +9,90 @@ "MedicationRequest/222b5b54-1efe-4733-bec9-313e97f16051" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "222b5b54-1efe-4733-bec9-313e97f16051", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "222b5b54-1efe-4733-bec9-313e97f16051", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-02-true-make-recommendations" + }, + "encounter": { + "reference": "Encounter/example-rec-02-in-careplan-revisited-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ] - }, - "subject": { - "reference": "Patient/example-rec-02-true-make-recommendations" - }, - "encounter": { - "reference": "Encounter/example-rec-02-in-careplan-revisited-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json index 127721ab..e407cdbf 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json @@ -9,82 +9,90 @@ "MedicationRequest/a6590d30-c320-4016-861f-678f9f87bca5" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "a6590d30-c320-4016-861f-678f9f87bca5", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "a6590d30-c320-4016-861f-678f9f87bca5", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" + }, + "encounter": { + "reference": "Encounter/example-rec-02-out-careplan-not-revisited-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ] - }, - "subject": { - "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" - }, - "encounter": { - "reference": "Encounter/example-rec-02-out-careplan-not-revisited-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json index 65140738..d544317e 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json @@ -9,78 +9,86 @@ "MedicationRequest/54cd4101-f1b8-408e-ac61-8862d5399bcd" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "54cd4101-f1b8-408e-ac61-8862d5399bcd", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "54cd4101-f1b8-408e-ac61-8862d5399bcd", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-03-true-make-recommendations" + }, + "encounter": { + "reference": "Encounter/example-rec-03-in-no-counseling-within-90-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ] - }, - "subject": { - "reference": "Patient/example-rec-03-true-make-recommendations" - }, - "encounter": { - "reference": "Encounter/example-rec-03-in-no-counseling-within-90-days-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1, - "periodUnit": "d" - } - }, - "asNeededBoolean": false - } - ], - "dispenseRequest": { - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json index 6d0b0d14..e8e26743 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json @@ -9,78 +9,86 @@ "MedicationRequest/e9e50568-5737-427d-8b1b-7a48f3ea9986" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "e9e50568-5737-427d-8b1b-7a48f3ea9986", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "e9e50568-5737-427d-8b1b-7a48f3ea9986", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-03-false-due-to-discussion-within-90-days" + }, + "encounter": { + "reference": "Encounter/example-rec-03-out-counseling-within-90-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ] - }, - "subject": { - "reference": "Patient/example-rec-03-false-due-to-discussion-within-90-days" - }, - "encounter": { - "reference": "Encounter/example-rec-03-out-counseling-within-90-days-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1, - "periodUnit": "d" - } - }, - "asNeededBoolean": false - } - ], - "dispenseRequest": { - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { @@ -159,6 +167,9 @@ "end": "2022-05-07" } } - } + }, + "item3": null, + "item4": null, + "item5": null } } \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json index d04460f3..359ff1d9 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-04-long-acting-opioid-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-04-long-acting-opioid-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-04-long-acting-opioid-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-04-long-acting-opioid" + }, + "encounter": { + "reference": "Encounter/example-rec-04-long-acting-opioid-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "Patient/example-rec-04-long-acting-opioid" - }, - "encounter": { - "reference": "Encounter/example-rec-04-long-acting-opioid-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json index ed75c115..7358e878 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-04-new-patient-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-04-new-patient-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-04-new-patient-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-04-new-patient" }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "encounter": { + "reference": "Encounter/example-rec-04-new-patient-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "Patient/example-rec-04-new-patient" - }, - "encounter": { - "reference": "Encounter/example-rec-04-new-patient-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json index 93c4b5cf..445bc12b 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-04-not-long-acting-opioid-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-04-not-long-acting-opioid-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-04-not-long-acting-opioid-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010600", + "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-04-not-long-acting-opioid" + }, + "encounter": { + "reference": "Encounter/example-rec-04-not-long-acting-opioid-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010600", - "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip" } - ] - }, - "subject": { - "reference": "Patient/example-rec-04-not-long-acting-opioid" - }, - "encounter": { - "reference": "Encounter/example-rec-04-not-long-acting-opioid-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json index 573a1511..5efd08d2 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-04-opioid-with-abuse-potential-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-04-opioid-with-abuse-potential-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-04-opioid-with-abuse-potential-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-04-opioid-with-abuse-potential" + }, + "encounter": { + "reference": "Encounter/example-rec-04-opioid-with-abuse-potential-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "Patient/example-rec-04-opioid-with-abuse-potential" - }, - "encounter": { - "reference": "Encounter/example-rec-04-opioid-with-abuse-potential-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json index 72a21907..4163556a 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json @@ -10,81 +10,89 @@ "MedicationRequest/example-rec-05-mme-greater-than-fifty-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-05-mme-greater-than-fifty-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-05-mme-greater-than-fifty-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-05-mme-greater-than-fifty" + }, + "encounter": { + "reference": "Encounter/example-rec-05-mme-greater-than-fifty-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2023-02-02T00:00:00-07:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-05-mme-greater-than-fifty" - }, - "encounter": { - "reference": "Encounter/example-rec-05-mme-greater-than-fifty-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2023-02-02T00:00:00-07:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json index 5307d7bd..3f967e87 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json @@ -10,81 +10,89 @@ "MedicationRequest/example-rec-05-mme-less-than-fifty-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-05-mme-less-than-fifty-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-05-mme-less-than-fifty-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-05-mme-less-than-fifty" + }, + "encounter": { + "reference": "Encounter/example-rec-05-mme-less-than-fifty-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2023-02-02T00:00:00-07:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-05-mme-less-than-fifty" - }, - "encounter": { - "reference": "Encounter/example-rec-05-mme-less-than-fifty-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2023-02-02T00:00:00-07:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json index 3b8b0f3c..520b540f 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json @@ -9,82 +9,90 @@ "MedicationRequest/8280aeb5-db2e-4b2e-a80c-aaaa597762b3" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "8280aeb5-db2e-4b2e-a80c-aaaa597762b3", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "8280aeb5-db2e-4b2e-a80c-aaaa597762b3", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-06-criteria-valid" + }, + "encounter": { + "reference": "Encounter/example-rec-06-in-criteria-met-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 5.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "Patient/example-rec-06-criteria-valid" - }, - "encounter": { - "reference": "Encounter/example-rec-06-in-criteria-met-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 5.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json index 2c8e56fd..22bd6aac 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json @@ -9,82 +9,90 @@ "MedicationRequest/15fa9928-4f72-4ee3-ac61-1412d9fa446b" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "15fa9928-4f72-4ee3-ac61-1412d9fa446b", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "15fa9928-4f72-4ee3-ac61-1412d9fa446b", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-06-with-extended-release-for-27-days" + }, + "encounter": { + "reference": "Encounter/example-rec-06-out-extended-release-27-day-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 27.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "Patient/example-rec-06-with-extended-release-for-27-days" - }, - "encounter": { - "reference": "Encounter/example-rec-06-out-extended-release-27-day-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 27.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json index 95750efb..d30d9463 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json @@ -10,81 +10,89 @@ "MedicationRequest/example-rec-07-end-of-life-exclusion-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-07-end-of-life-exclusion-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-07-end-of-life-exclusion-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-07-end-of-life-exclusion" + }, + "encounter": { + "reference": "Encounter/example-rec-07-end-of-life-exclusion-context" + }, + "authoredOn": "2022-08-23", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-23T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "Patient/example-rec-07-end-of-life-exclusion" - }, - "encounter": { - "reference": "Encounter/example-rec-07-end-of-life-exclusion-context" - }, - "authoredOn": "2022-08-23", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-23T00:00:00-06:00", - "end": "2022-11-22T00:00:00-07:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json index 4197e439..08db673d 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json @@ -10,81 +10,89 @@ "MedicationRequest/example-rec-07-risk-assessment-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-07-risk-assessment-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-07-risk-assessment-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-07-risk-assessment" + }, + "encounter": { + "reference": "Encounter/example-rec-07-risk-assessment-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 30, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "Patient/example-rec-07-risk-assessment" - }, - "encounter": { - "reference": "Encounter/example-rec-07-risk-assessment-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json index 3e8cfcae..b39810f1 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json @@ -10,81 +10,89 @@ "MedicationRequest/example-rec-07-seven-of-past-ten-days-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-07-seven-of-past-ten-days-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-07-seven-of-past-ten-days-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-07-seven-of-past-ten-days" + }, + "encounter": { + "reference": "Encounter/example-rec-07-seven-of-past-ten-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 7.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "Patient/example-rec-07-seven-of-past-ten-days" - }, - "encounter": { - "reference": "Encounter/example-rec-07-seven-of-past-ten-days-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 7.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json index cbebafdf..53f2c15a 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json @@ -10,81 +10,89 @@ "MedicationRequest/example-rec-07-six-of-past-ten-days-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-07-six-of-past-ten-days-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-07-six-of-past-ten-days-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, + "subject": { + "reference": "Patient/example-rec-07-six-of-past-ten-days" + }, + "encounter": { + "reference": "Encounter/example-rec-07-six-of-past-ten-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { + "value": 6.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "Patient/example-rec-07-six-of-past-ten-days" - }, - "encounter": { - "reference": "Encounter/example-rec-07-six-of-past-ten-days-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 6.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json index b930d376..2ad3222d 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json @@ -10,81 +10,89 @@ "MedicationRequest/example-rec-07-sixtythree-of-past-ninety-days-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-07-sixtythree-of-past-ninety-days-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-07-sixtythree-of-past-ninety-days-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-07-sixtythree-of-past-ninety-days" + }, + "encounter": { + "reference": "Encounter/example-rec-07-sixtythree-of-past-ninety-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "Patient/example-rec-07-sixtythree-of-past-ninety-days" - }, - "encounter": { - "reference": "Encounter/example-rec-07-sixtythree-of-past-ninety-days-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json index 391b6361..ce8d871b 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json @@ -10,81 +10,89 @@ "MedicationRequest/example-rec-07-sixtytwo-of-past-ninety-days-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-07-sixtytwo-of-past-ninety-days-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-07-sixtytwo-of-past-ninety-days-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-07-sixtytwo-of-past-ninety-days" + }, + "encounter": { + "reference": "Encounter/example-rec-07-sixtytwo-of-past-ninety-days-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "Patient/example-rec-07-sixtytwo-of-past-ninety-days" - }, - "encounter": { - "reference": "Encounter/example-rec-07-sixtytwo-of-past-ninety-days-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json index e8348852..543d592b 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json @@ -10,96 +10,104 @@ "MedicationRequest/example-rec-08-mme-greater-than-fifty-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-mme-greater-than-fifty-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-mme-greater-than-fifty-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-08-mme-greater-than-fifty" + }, + "encounter": { + "reference": "Encounter/example-rec-08-mme-greater-than-fifty-context" }, - { - "url": "frequency", - "valueDuration": { + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "quantity": { + "value": 30, + "unit": "patch", + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "patch" + }, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-mme-greater-than-fifty" - }, - "encounter": { - "reference": "Encounter/example-rec-08-mme-greater-than-fifty-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "quantity": { - "value": 30, - "unit": "patch", - "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", - "code": "patch" - }, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json index 7f13a339..700c3196 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json @@ -10,90 +10,98 @@ "MedicationRequest/example-rec-08-mme-less-than-fifty-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-mme-less-than-fifty-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-mme-less-than-fifty-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-08-mme-less-than-fifty" }, - { - "url": "frequency", - "valueDuration": { + "encounter": { + "reference": "Encounter/example-rec-08-mme-less-than-fifty-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "doseQuantity": { + "value": 0.2, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-mme-less-than-fifty" - }, - "encounter": { - "reference": "Encounter/example-rec-08-mme-less-than-fifty-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "doseQuantity": { - "value": 0.2, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json index ac1c2c23..c14a617b 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json @@ -10,142 +10,150 @@ "MedicationRequest/example-rec-08-mme-greater-than-fifty-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-mme-greater-than-fifty-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-mme-greater-than-fifty" - }, - "encounter": { - "reference": "Encounter/example-rec-08-mme-greater-than-fifty-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "type": { - "coding": [ + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-mme-greater-than-fifty-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://epic.com/CodeSystem/dose-rate-type", - "code": "calculated", - "display": "calculated" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } - ], - "text": "calculated" - }, - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" + ] } - }, - { - "type": { + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://epic.com/CodeSystem/dose-rate-type", - "code": "admin-amount", - "display": "admin-amount" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } - ], - "text": "admin-amount" - }, - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" + ] } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "type": { - "coding": [ + "subject": { + "reference": "Patient/example-rec-08-mme-greater-than-fifty" + }, + "encounter": { + "reference": "Encounter/example-rec-08-mme-greater-than-fifty-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "type": { + "coding": [ + { + "system": "http://epic.com/CodeSystem/dose-rate-type", + "code": "calculated", + "display": "calculated" + } + ], + "text": "calculated" + }, + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + }, + { + "type": { + "coding": [ + { + "system": "http://epic.com/CodeSystem/dose-rate-type", + "code": "admin-amount", + "display": "admin-amount" + } + ], + "text": "admin-amount" + }, + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + }, { - "system": "http://epic.com/CodeSystem/dose-rate-type", - "code": "ordered", - "display": "ordered" + "type": { + "coding": [ + { + "system": "http://epic.com/CodeSystem/dose-rate-type", + "code": "ordered", + "display": "ordered" + } + ], + "text": "ordered" + }, + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } - ], - "text": "ordered" + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, - "doseQuantity": { - "value": 1.0, + "numberOfRepeatsAllowed": 3, + "quantity": { + "value": 30, "unit": "patch", + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "patch" + }, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", "system": "http://unitsofmeasure.org", - "code": "{patch}" + "code": "d" } } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "quantity": { - "value": 30, - "unit": "patch", - "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", - "code": "patch" - }, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" + } } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json index 78c38723..9dc18084 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json @@ -10,90 +10,98 @@ "MedicationRequest/example-rec-08-on-benzodiazepine-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-on-benzodiazepine-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-on-benzodiazepine-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-08-on-benzodiazepine" + }, + "encounter": { + "reference": "Encounter/example-rec-08-on-benzodiazepine-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-on-benzodiazepine" - }, - "encounter": { - "reference": "Encounter/example-rec-08-on-benzodiazepine-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json index 54b5ba67..35ceefdd 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json @@ -10,90 +10,98 @@ "MedicationRequest/example-rec-08-on-naloxone-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-on-naloxone-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-on-naloxone-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-08-on-naloxone" + }, + "encounter": { + "reference": "Encounter/example-rec-08-on-naloxone-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-on-naloxone" - }, - "encounter": { - "reference": "Encounter/example-rec-08-on-naloxone-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json index a7f9c20f..306cf6f9 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json @@ -10,96 +10,104 @@ "MedicationRequest/example-rec-08-substance-abuse-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-substance-abuse-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-substance-abuse-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-08-substance-abuse" + }, + "encounter": { + "reference": "Encounter/example-rec-08-substance-abuse-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "quantity": { + "value": 30, + "unit": "patch", + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "patch" + }, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-substance-abuse" - }, - "encounter": { - "reference": "Encounter/example-rec-08-substance-abuse-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "quantity": { - "value": 30, - "unit": "patch", - "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", - "code": "patch" - }, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json index 7cf815b9..e66b5025 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json @@ -1,115 +1,120 @@ { "hookInstance": "rec08-p02-5", - "fhirServer": "http://localhost:8080/fhir", + "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example-rec-08-order-sign", "patientId": "Patient/example-rec-08-order-sign", "encounterId": "Encounter/example-rec-08-order-sign", - "selections": [ - "MedicationRequest/example-rec-08-order-sign" - ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "rec-08-order-sign", - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "836397", - "display": "Acetaminophen 325 MG / tramadol hydrochloride 37.5 MG Oral Tablet [Ultracet]" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-order-sign" - }, - "encounter": { - "reference": "Encounter/example-rec-08-order-sign" - }, - "authoredOn": "2022-07-20", - "reasonCode": [ - { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "82423001", - "display": "Chronic pain" - } - ] - } - ], - "dosageInstruction": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "timing": { - "repeat": { - "frequency": 1, - "period": 4, - "periodMax": 6, - "periodUnit": "h" - } - }, - "doseAndRate": [ - { - "type": { + "resource": { + "resourceType": "MedicationRequest", + "id": "rec-08-order-sign", + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://epic.com/CodeSystem/dose-rate-type", - "code": "ordered", - "display": "ordered" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } - ], - "text": "ordered" - }, - "doseRange": { - "low": { - "value": 1.0, - "unit": "Tablet", - "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", - "code": "TAB" - }, - "high": { - "value": 2.0, - "unit": "Tablet", - "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", - "code": "TAB" + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "836397", + "display": "Acetaminophen 325 MG / tramadol hydrochloride 37.5 MG Oral Tablet [Ultracet]" } + ] + }, + "subject": { + "reference": "Patient/example-rec-08-order-sign" + }, + "encounter": { + "reference": "Encounter/example-rec-08-order-sign" + }, + "authoredOn": "2022-07-20", + "reasonCode": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "82423001", + "display": "Chronic pain" + } + ] + } + ], + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 4, + "periodMax": 6, + "periodUnit": "h" + } + }, + "doseAndRate": [ + { + "type": { + "coding": [ + { + "system": "http://epic.com/CodeSystem/dose-rate-type", + "code": "ordered", + "display": "ordered" + } + ], + "text": "ordered" + }, + "doseRange": { + "low": { + "value": 1.0, + "unit": "Tablet", + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "TAB" + }, + "high": { + "value": 2.0, + "unit": "Tablet", + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "TAB" + } + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-04-28", + "end": "2022-08-28" + }, + "quantity": { + "value": 2, + "unit": "Tablet", + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "TAB" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-08-28" - }, - "quantity": { - "value": 2, - "unit": "Tablet", - "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", - "code": "TAB" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" + } } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json index 00945265..7ff945c8 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json @@ -6,100 +6,105 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-order-sign-mme-greater-than-fifty", "encounterId": "Encounter/example-rec-08-order-sign-mme-greater-than-fifty-context", - "selections": [ - "MedicationRequest/example-rec-08-order-sign-mme-greater-than-fifty-context" - ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-order-sign-mme-greater-than-fifty-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-mme-greater-than-fifty-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-08-order-sign-mme-greater-than-fifty" + }, + "encounter": { + "reference": "Encounter/example-rec-08-order-sign-mme-greater-than-fifty-context" }, - { - "url": "frequency", - "valueDuration": { + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "quantity": { + "value": 30, + "unit": "patch", + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "patch" + }, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-order-sign-mme-greater-than-fifty" - }, - "encounter": { - "reference": "Encounter/example-rec-08-order-sign-mme-greater-than-fifty-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "quantity": { - "value": 30, - "unit": "patch", - "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", - "code": "patch" - }, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json index d6f9934a..0fc91a4e 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json @@ -6,94 +6,99 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-order-sign-mme-less-than-fifty", "encounterId": "Encounter/example-rec-08-order-sign-mme-less-than-fifty-context", - "selections": [ - "MedicationRequest/example-rec-08-order-sign-mme-less-than-fifty-context" - ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-order-sign-mme-less-than-fifty-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-mme-less-than-fifty-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-08-order-sign-mme-less-than-fifty" }, - { - "url": "frequency", - "valueDuration": { + "encounter": { + "reference": "Encounter/example-rec-08-order-sign-mme-less-than-fifty-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "doseQuantity": { + "value": 0.2, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-order-sign-mme-less-than-fifty" - }, - "encounter": { - "reference": "Encounter/example-rec-08-order-sign-mme-less-than-fifty-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "doseQuantity": { - "value": 0.2, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json index 261ba13e..44059f11 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json @@ -6,146 +6,151 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-order-sign-mme-greater-than-fifty", "encounterId": "Encounter/example-rec-08-order-sign-mme-greater-than-fifty-context", - "selections": [ - "MedicationRequest/example-rec-08-order-sign-mme-greater-than-fifty-context" - ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-order-sign-mme-greater-than-fifty-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-order-sign-mme-greater-than-fifty" - }, - "encounter": { - "reference": "Encounter/example-rec-08-order-sign-mme-greater-than-fifty-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "type": { - "coding": [ + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-mme-greater-than-fifty-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ { - "system": "http://epic.com/CodeSystem/dose-rate-type", - "code": "calculated", - "display": "calculated" + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } - ], - "text": "calculated" - }, - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" + ] } - }, - { - "type": { + ], + "status": "active", + "intent": "order", + "category": [ + { "coding": [ { - "system": "http://epic.com/CodeSystem/dose-rate-type", - "code": "admin-amount", - "display": "admin-amount" + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" } - ], - "text": "admin-amount" - }, - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" + ] } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "type": { - "coding": [ + "subject": { + "reference": "Patient/example-rec-08-order-sign-mme-greater-than-fifty" + }, + "encounter": { + "reference": "Encounter/example-rec-08-order-sign-mme-greater-than-fifty-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "type": { + "coding": [ + { + "system": "http://epic.com/CodeSystem/dose-rate-type", + "code": "calculated", + "display": "calculated" + } + ], + "text": "calculated" + }, + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + }, + { + "type": { + "coding": [ + { + "system": "http://epic.com/CodeSystem/dose-rate-type", + "code": "admin-amount", + "display": "admin-amount" + } + ], + "text": "admin-amount" + }, + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + }, { - "system": "http://epic.com/CodeSystem/dose-rate-type", - "code": "ordered", - "display": "ordered" + "type": { + "coding": [ + { + "system": "http://epic.com/CodeSystem/dose-rate-type", + "code": "ordered", + "display": "ordered" + } + ], + "text": "ordered" + }, + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } } - ], - "text": "ordered" + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" }, - "doseQuantity": { - "value": 1.0, + "numberOfRepeatsAllowed": 3, + "quantity": { + "value": 30, "unit": "patch", + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "patch" + }, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", "system": "http://unitsofmeasure.org", - "code": "{patch}" + "code": "d" } } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "quantity": { - "value": 30, - "unit": "patch", - "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", - "code": "patch" - }, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" + } } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json index 8664778a..089c523c 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json @@ -6,94 +6,99 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-order-sign-on-benzodiazepine", "encounterId": "Encounter/example-rec-08-order-sign-on-benzodiazepine-context", - "selections": [ - "MedicationRequest/example-rec-08-order-sign-on-benzodiazepine-context" - ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-order-sign-on-benzodiazepine-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-on-benzodiazepine-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-08-order-sign-on-benzodiazepine" + }, + "encounter": { + "reference": "Encounter/example-rec-08-order-sign-on-benzodiazepine-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-order-sign-on-benzodiazepine" - }, - "encounter": { - "reference": "Encounter/example-rec-08-order-sign-on-benzodiazepine-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json index 043898ba..9c3c1875 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json @@ -6,94 +6,99 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-order-sign-on-naloxone", "encounterId": "Encounter/example-rec-08-order-sign-on-naloxone-context", - "selections": [ - "MedicationRequest/example-rec-08-order-sign-on-naloxone-context" - ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-order-sign-on-naloxone-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-on-naloxone-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-08-order-sign-on-naloxone" + }, + "encounter": { + "reference": "Encounter/example-rec-08-order-sign-on-naloxone-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 3.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-order-sign-on-naloxone" - }, - "encounter": { - "reference": "Encounter/example-rec-08-order-sign-on-naloxone-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json index 52b81789..aa8864ae 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json @@ -6,100 +6,105 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-order-sign-substance-abuse", "encounterId": "Encounter/example-rec-08-order-sign-substance-abuse-context", - "selections": [ - "MedicationRequest/example-rec-08-order-sign-substance-abuse-context" - ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-08-order-sign-substance-abuse-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-08-order-sign-substance-abuse-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-08-order-sign-substance-abuse" + }, + "encounter": { + "reference": "Encounter/example-rec-08-order-sign-substance-abuse-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "quantity": { + "value": 30, + "unit": "patch", + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "patch" + }, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-order-sign-substance-abuse" - }, - "encounter": { - "reference": "Encounter/example-rec-08-order-sign-substance-abuse-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "quantity": { - "value": 30, - "unit": "patch", - "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", - "code": "patch" - }, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json index 2bc5a759..05ca9d4f 100755 --- a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json @@ -9,79 +9,87 @@ "MedicationRequest/60640bf6-3845-4dbd-bf15-b2616118e8c8-3" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "60640bf6-3845-4dbd-bf15-b2616118e8c8-3", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "60640bf6-3845-4dbd-bf15-b2616118e8c8-3", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-09-true-return-recommendations" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ] - }, - "subject": { - "reference": "Patient/example-rec-09-true-return-recommendations" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json index b1fe49e5..0895efb5 100755 --- a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json @@ -9,79 +9,87 @@ "MedicationRequest/f4540e09-8aaf-4d77-86be-9fd9a4d6a06c-3" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "f4540e09-8aaf-4d77-86be-9fd9a4d6a06c-3", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "f4540e09-8aaf-4d77-86be-9fd9a4d6a06c-3", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "code": "community", + "display": "Community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010603", + "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 1, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "community", - "display": "Community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" } - ] - }, - "subject": { - "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 1, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json index 598e03fc..d15c2823 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-10-2-illicit-drugs-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-10-2-illicit-drugs-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-10-2-illicit-drugs-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-10-2-illicit-drugs" + }, + "encounter": { + "reference": "Encounter/example-rec-10-2-illicit-drugs-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-10-2-illicit-drugs" - }, - "encounter": { - "reference": "Encounter/example-rec-10-2-illicit-drugs-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json index 259848c6..ad033fc5 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-10-end-of-life-med-exclusion-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-10-end-of-life-med-exclusion-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-10-end-of-life-med-exclusion-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1012727", + "display": "Carbinoxamine maleate 0.4 MG/ML / Hydrocodone Bitartrate 1 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-10-end-of-life-med-exclusion" + }, + "encounter": { + "reference": "Encounter/example-rec-10-end-of-life-med-exclusion-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 5.0, + "unit": "mL", + "system": "http://unitsofmeasure.org", + "code": "{mL}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1012727", - "display": "Carbinoxamine maleate 0.4 MG/ML / Hydrocodone Bitartrate 1 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" } - ] - }, - "subject": { - "reference": "Patient/example-rec-10-end-of-life-med-exclusion" - }, - "encounter": { - "reference": "Encounter/example-rec-10-end-of-life-med-exclusion-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 5.0, - "unit": "mL", - "system": "http://unitsofmeasure.org", - "code": "{mL}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json index 3c12554b..b42ef7e4 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-10-illicit-POS-Cocaine-drugs-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-10-illicit-POS-Cocaine-drugs-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-10-illicit-POS-Cocaine-drugs-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-10-illicit-POS-Cocaine-drugs" + }, + "encounter": { + "reference": "Encounter/example-rec-10-illicit-POS-Cocaine-drugs-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-10-illicit-POS-Cocaine-drugs" - }, - "encounter": { - "reference": "Encounter/example-rec-10-illicit-POS-Cocaine-drugs-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json index 5094afd8..2a676356 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-10-non-synthetic-drug-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-10-non-synthetic-drug-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-10-non-synthetic-drug-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-10-non-synthetic-drug" + }, + "encounter": { + "reference": "Encounter/example-rec-10-non-synthetic-drug-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-10-non-synthetic-drug" - }, - "encounter": { - "reference": "Encounter/example-rec-10-non-synthetic-drug-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json index f40dab97..2b05c9b0 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-10-illicit-drugs-POS-Opiate-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-10-illicit-drugs-POS-Opiate-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-10-illicit-drugs-POS-Opiate-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-10-illicit-drugs-POS-Opiate" + }, + "encounter": { + "reference": "Encounter/example-rec-10-illicit-drugs-POS-Opiate-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-10-illicit-drugs-POS-Opiate" - }, - "encounter": { - "reference": "Encounter/example-rec-10-illicit-drugs-POS-Opiate-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json index 34b888f8..ff6f8aca 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-10-illicit-drugs-POS-PCP-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-10-illicit-drugs-POS-PCP-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-10-illicit-drugs-POS-PCP-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-10-illicit-drugs-POS-PCP" + }, + "encounter": { + "reference": "Encounter/example-rec-10-illicit-drugs-POS-PCP-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-10-illicit-drugs-POS-PCP" - }, - "encounter": { - "reference": "Encounter/example-rec-10-illicit-drugs-POS-PCP-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json index ebd4c6fe..850a00ea 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-10-no-screenings-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-10-no-screenings-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-10-no-screenings-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-10-no-screenings" + }, + "encounter": { + "reference": "Encounter/example-rec-10-no-screenings-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-10-no-screenings" - }, - "encounter": { - "reference": "Encounter/example-rec-10-no-screenings-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json index dfca0a06..a4d2fcaa 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json @@ -8,6 +8,7 @@ "encounterId": "Encounter/example-rec-10-2-illicit-drugs-context", "draftOrders": { "resourceType": "Bundle", + "type": "collection", "entry": [ { "resource": { diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json index 3cb746a7..75ac4a67 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json @@ -6,11 +6,9 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-10-order-sign-illicit-POS-Cocaine-drugs", "encounterId": "Encounter/example-rec-10-order-sign-illicit-POS-Cocaine-drugs-context", - "selections": [ - "MedicationRequest/example-rec-10-order-sign-illicit-POS-Cocaine-drugs-context" - ], "draftOrders": { "resourceType": "Bundle", + "type": "collection", "entry": [ { "resource": { diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json index 0b1080b5..cbaae6d6 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json @@ -6,95 +6,100 @@ "userId": "Practitioner/example", "patientId": "Patient/example-rec-10-order-sign-illicit-drugs-POS-Opiate", "encounterId": "Encounter/example-rec-10-order-sign-illicit-drugs-POS-Opiate-context", - "selections": [ - "MedicationRequest/example-rec-10-order-sign-illicit-drugs-POS-Opiate-context" - ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-10-order-sign-illicit-drugs-POS-Opiate-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-10-order-sign-illicit-drugs-POS-Opiate" + }, + "encounter": { + "reference": "Encounter/example-rec-10-order-sign-illicit-drugs-POS-Opiate-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "patch", + "system": "http://unitsofmeasure.org", + "code": "{patch}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" } - ] - }, - "subject": { - "reference": "Patient/example-rec-10-order-sign-illicit-drugs-POS-Opiate" - }, - "encounter": { - "reference": "Encounter/example-rec-10-order-sign-illicit-drugs-POS-Opiate-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json index 6a866a28..5c5553fd 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json @@ -8,6 +8,7 @@ "encounterId": "Encounter/example-rec-10-2-illicit-POS-PCP-drugs-context", "draftOrders": { "resourceType": "Bundle", + "type": "collection", "entry": [ { "resource": { diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json index 816c8fd1..f60c7a9a 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json @@ -8,6 +8,7 @@ "encounterId": "Encounter/example-rec-10-order-sign-no-screenings-context", "draftOrders": { "resourceType": "Bundle", + "type": "collection", "entry": [ { "resource": { diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json index 88293581..a7ccb383 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json @@ -5,97 +5,7 @@ "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-10-patient-view-illicit-drugs-POS-Opiate", - "encounterId": "Encounter/example-rec-10-patient-view-illicit-drugs-POS-Opiate-encounter", - "selections": [ - "MedicationRequest/example-rec-10-patient-view-illicit-drugs-POS-Opiate-medreq1" - ], - "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-10-patient-view-illicit-drugs-POS-Opiate-medreq1", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-10-patient-view-illicit-drugs-POS-Opiate" - }, - "encounter": { - "reference": "Encounter/example-rec-10-patient-view-illicit-drugs-POS-Opiate-encounter" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 12.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - } + "encounterId": "Encounter/example-rec-10-patient-view-illicit-drugs-POS-Opiate-encounter" }, "prefetch": { "item1": { diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json index 315c4b35..36349917 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json @@ -9,90 +9,98 @@ "selections": [ "MedicationRequest/example-rec-11-benzo-trigger-with-opioid-context" ], - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": { - "doseQuantity": { - "value": 1.0, - "unit": "capsule", - "system": "http://unitsofmeasure.org", - "code": "{capsule}" - } - } - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - }, "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-11-benzo-trigger-with-opioid-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-11-benzo-trigger-with-opioid-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1298088", + "display": "Flurazepam Hydrochloride 15 MG Oral Capsule" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "Patient/example-rec-11-benzo-trigger-with-opioid" + }, + "encounter": { + "reference": "Encounter/example-rec-11-benzo-trigger-with-opioid-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": { + "doseQuantity": { + "value": 1.0, + "unit": "capsule", + "system": "http://unitsofmeasure.org", + "code": "{capsule}" + } + } + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-04-28", + "end": "2022-07-28" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1298088", - "display": "Flurazepam Hydrochloride 15 MG Oral Capsule" } - ] - }, - "subject": { - "reference": "Patient/example-rec-11-benzo-trigger-with-opioid" - }, - "encounter": { - "reference": "Encounter/example-rec-11-benzo-trigger-with-opioid-context" - }, - "authoredOn": "2022-08-03" + } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json index 3ce827e1..f32ead84 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-11-benzo-trigger-without-opioid-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-11-benzo-trigger-without-opioid-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-11-benzo-trigger-without-opioid-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1298088", + "display": "Flurazepam Hydrochloride 15 MG Oral Capsule" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-11-benzo-trigger-without-opioid" }, - { - "url": "frequency", - "valueDuration": { + "encounter": { + "reference": "Encounter/example-rec-11-benzo-trigger-without-opioid-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "capsule", + "system": "http://unitsofmeasure.org", + "code": "{capsule}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1298088", - "display": "Flurazepam Hydrochloride 15 MG Oral Capsule" } - ] - }, - "subject": { - "reference": "Patient/example-rec-11-benzo-trigger-without-opioid" - }, - "encounter": { - "reference": "Encounter/example-rec-11-benzo-trigger-without-opioid-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "capsule", - "system": "http://unitsofmeasure.org", - "code": "{capsule}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json index 1bfb20b7..10ab9157 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-11-opioid-trigger-with-benzo-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-11-opioid-trigger-with-benzo-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-11-opioid-trigger-with-benzo-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] }, - { - "url": "frequency", - "valueDuration": { + "subject": { + "reference": "example-rec-11-opioid-trigger-with-benzo-context" + }, + "encounter": { + "reference": "Encounter/example-rec-11-opioid-trigger-with-benzo-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "tablet", + "system": "http://unitsofmeasure.org", + "code": "{tablet}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "example-rec-11-opioid-trigger-with-benzo-context" - }, - "encounter": { - "reference": "Encounter/example-rec-11-opioid-trigger-with-benzo-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "tablet", - "system": "http://unitsofmeasure.org", - "code": "{tablet}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json index 05ae1370..86331156 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json @@ -10,91 +10,99 @@ "MedicationRequest/example-rec-11-opioid-trigger-without-benzo-context" ], "draftOrders": { - "resourceType": "MedicationRequest", - "id": "example-rec-11-opioid-trigger-without-benzo-context", - "extension": [ + "resourceType": "Bundle", + "type": "collection", + "entry": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-11-opioid-trigger-without-benzo-context", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + } + ] + }, + "subject": { + "reference": "example-rec-11-opioid-trigger-without-benzo-context" }, - { - "url": "frequency", - "valueDuration": { + "encounter": { + "reference": "Encounter/example-rec-11-opioid-trigger-without-benzo-context" + }, + "authoredOn": "2022-08-03", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 1.0, + "periodUnit": "d" + } + }, + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "tablet", + "system": "http://unitsofmeasure.org", + "code": "{tablet}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-03T00:00:00-06:00", + "end": "2022-11-02T00:00:00-06:00" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" } } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" } - ] - }, - "subject": { - "reference": "example-rec-11-opioid-trigger-without-benzo-context" - }, - "encounter": { - "reference": "Encounter/example-rec-11-opioid-trigger-without-benzo-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 1.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "tablet", - "system": "http://unitsofmeasure.org", - "code": "{tablet}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" } - } + ] } }, "prefetch": { diff --git a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json index 54d061d7..3dc05982 100644 --- a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json @@ -1,7 +1,7 @@ { "hookInstance": "17ff4874-b68a-490c-abaa-b62b1a91b1bd", "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", - "hook": "order-select", + "hook": "patient-view", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-12-criteria-valid" diff --git a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json index 209f49c0..45c14607 100644 --- a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json +++ b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json @@ -1,7 +1,7 @@ { "hookInstance": "3d75f421-9eeb-46d0-aa18-9aa9c720833a", "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", - "hook": "order-select", + "hook": "patient-view", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-12-criteria-invalid" diff --git a/thunder-tests/thunderActivity.json b/thunder-tests/thunderActivity.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/thunder-tests/thunderActivity.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/thunder-tests/thunderCollection.json b/thunder-tests/thunderCollection.json new file mode 100644 index 00000000..8f8980ee --- /dev/null +++ b/thunder-tests/thunderCollection.json @@ -0,0 +1,115 @@ +[ + { + "_id": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "colName": "OpioidCDSR4_Test_Suite", + "created": "2022-08-08T19:42:27.502Z", + "sortNum": 10000, + "folders": [ + { + "_id": "6e0fdd9a-ae7e-4932-bc09-1f242c051283", + "name": "REC_01", + "containerId": "", + "created": "2022-08-08T19:42:27.504Z", + "sortNum": 10000 + }, + { + "_id": "c517211f-b05c-4072-a59b-d7e07258eba9", + "name": "REC_02", + "containerId": "", + "created": "2022-08-08T19:42:27.505Z", + "sortNum": 20000 + }, + { + "_id": "652312fd-c9dc-48f6-8f2b-64ffa36d3385", + "name": "REC_03", + "containerId": "", + "created": "2022-08-08T19:42:27.506Z", + "sortNum": 30000 + }, + { + "_id": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", + "name": "REC_04_ORDER_SIGN", + "containerId": "", + "created": "2022-08-08T19:42:27.507Z", + "sortNum": 32500 + }, + { + "_id": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", + "name": "REC_04_PATIENT_VIEW", + "containerId": "", + "created": "2022-08-08T19:42:27.508Z", + "sortNum": 35000 + }, + { + "_id": "b0fbf830-156e-4743-b074-8c4523410667", + "name": "REC_05", + "containerId": "", + "created": "2022-08-08T19:42:27.509Z", + "sortNum": 50000 + }, + { + "_id": "83de11e6-fee3-49e2-afc5-402fe6a28c69", + "name": "REC_06", + "containerId": "", + "created": "2022-08-08T19:42:27.510Z", + "sortNum": 60000 + }, + { + "_id": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "REC_07", + "containerId": "", + "created": "2022-08-08T19:42:27.511Z", + "sortNum": 70000 + }, + { + "_id": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "REC_08", + "containerId": "", + "created": "2022-08-08T19:42:27.512Z", + "sortNum": 80000 + }, + { + "_id": "3f2e1468-e24b-4dea-847d-1a6e5d7805ad", + "name": "REC_09", + "containerId": "", + "created": "2022-08-08T19:42:27.513Z", + "sortNum": 90000 + }, + { + "_id": "7af2c44c-048f-40b1-93e7-6a59bb2dd18d", + "name": "REC_10_ORDER_SIGN", + "containerId": "", + "created": "2022-08-08T19:42:27.515Z", + "sortNum": 92500 + }, + { + "_id": "e5bfaa3a-364c-4d60-b893-084fd9adcc66", + "name": "REC_10_PATIENT_VIEW", + "containerId": "", + "created": "2022-08-08T19:42:27.516Z", + "sortNum": 95000 + }, + { + "_id": "a751f548-6e07-445a-b289-fe435b4e4591", + "name": "REC_11_ORDER_SELECT", + "containerId": "", + "created": "2022-08-08T19:42:27.517Z", + "sortNum": 110000 + }, + { + "_id": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", + "name": "REC_11_PATIENT_VIEW", + "containerId": "", + "created": "2022-08-08T19:42:27.518Z", + "sortNum": 115000 + }, + { + "_id": "f853d5cc-f89d-4fdf-a254-2758b52160ec", + "name": "REC_12", + "containerId": "", + "created": "2022-08-08T19:42:27.519Z", + "sortNum": 120000 + } + ] + } +] \ No newline at end of file diff --git a/thunder-tests/thunderEnvironment.json b/thunder-tests/thunderEnvironment.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/thunder-tests/thunderEnvironment.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json new file mode 100644 index 00000000..cbdbda3d --- /dev/null +++ b/thunder-tests/thunderclient.json @@ -0,0 +1,2102 @@ +[ + { + "_id": "f87554a1-5c92-4c1c-bc25-6636e7372bd3", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "6e0fdd9a-ae7e-4932-bc09-1f242c051283", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.506Z", + "modified": "2022-08-08T19:42:27.506Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-01/opioidcds-01-bundle.json" + }, + "tests": [] + }, + { + "_id": "c167dbe1-6cfa-449b-afec-316830eebf91", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "c517211f-b05c-4072-a59b-d7e07258eba9", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.507Z", + "modified": "2022-08-08T19:42:27.507Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-02/opioidcds-02-bundle.json" + }, + "tests": [] + }, + { + "_id": "67883c55-fc86-4bda-8f04-b4a5443326dc", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "652312fd-c9dc-48f6-8f2b-64ffa36d3385", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.508Z", + "modified": "2022-08-08T19:42:27.508Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-03/opioidcds-03-bundle.json" + }, + "tests": [] + }, + { + "_id": "44d08977-c826-41b3-b6bf-59464503cbfe", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.509Z", + "modified": "2022-08-08T19:42:27.509Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-04/opioidcds-04-bundle.json" + }, + "tests": [] + }, + { + "_id": "7ded9d5d-cc5f-4a46-b182-65e000b6bbf9", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.510Z", + "modified": "2022-08-08T19:42:27.510Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-04-patient-view/opioidcds-04-patient-view-bundle.json" + }, + "tests": [] + }, + { + "_id": "669d1ff8-d643-4221-b4c7-4d1ec4c30f5d", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "b0fbf830-156e-4743-b074-8c4523410667", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.511Z", + "modified": "2022-08-08T19:42:27.511Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-05/opioidcds-05-bundle.json" + }, + "tests": [] + }, + { + "_id": "d0792f23-8c09-4423-bbe0-66dc2ae91942", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "83de11e6-fee3-49e2-afc5-402fe6a28c69", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.512Z", + "modified": "2022-08-08T19:42:27.512Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-06/opioidcds-06-bundle.json" + }, + "tests": [] + }, + { + "_id": "4213b8d7-5445-470e-8e36-c6dc3e3761c1", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.513Z", + "modified": "2022-08-08T19:42:27.513Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-07/opioidcds-07-bundle.json" + }, + "tests": [] + }, + { + "_id": "d2bb7740-e8a9-4a01-abc9-04d4fb7fdc43", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.514Z", + "modified": "2022-08-08T19:42:27.514Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-08-order-sign/opioidcds-08-order-sign-bundle.json" + }, + "tests": [] + }, + { + "_id": "b9a21fca-9985-4ea2-9999-364672d0c9c5", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "3f2e1468-e24b-4dea-847d-1a6e5d7805ad", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.515Z", + "modified": "2022-08-08T19:42:27.515Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-09/opioidcds-09-bundle.json" + }, + "tests": [] + }, + { + "_id": "07b32584-53a5-43db-a75b-64a0af63e5ba", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "7af2c44c-048f-40b1-93e7-6a59bb2dd18d", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.516Z", + "modified": "2022-08-08T19:42:27.516Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-10-order-sign/opioidcds-10-order-sign-bundle.json" + }, + "tests": [] + }, + { + "_id": "65428631-1101-4e89-b700-79e820293daf", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e5bfaa3a-364c-4d60-b893-084fd9adcc66", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.517Z", + "modified": "2022-08-08T19:42:27.517Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-10-patient-view/opioidcds-10-patient-view-bundle.json" + }, + "tests": [] + }, + { + "_id": "fba320ec-9401-47ee-8f58-e3e4376b8c85", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.518Z", + "modified": "2022-08-08T19:42:27.518Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-11/opioidcds-11-bundle.json" + }, + "tests": [] + }, + { + "_id": "0254a216-db28-429c-aad8-236462a86da2", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.519Z", + "modified": "2022-08-08T19:42:27.519Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-11-patient-view/opioidcds-11-patient-view-bundle.json" + }, + "tests": [] + }, + { + "_id": "61664115-80c1-4bcd-b6ab-d81a749c46b7", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "f853d5cc-f89d-4fdf-a254-2758b52160ec", + "name": "LOAD_ARTIFACT_BUNDLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 10000, + "created": "2022-08-08T19:42:27.520Z", + "modified": "2022-08-08T19:42:27.520Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/bundles/plandefinition/opioidcds-12-patient-view/opioidcds-12-patient-view-bundle.json" + }, + "tests": [] + }, + { + "_id": "1ccf67bf-fe3e-47fa-a849-dda21b347895", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "6e0fdd9a-ae7e-4932-bc09-1f242c051283", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 17500, + "created": "2022-08-08T19:42:27.521Z", + "modified": "2022-08-08T19:42:27.521Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-01-true-make-recommendations.json" + }, + "tests": [] + }, + { + "_id": "0697da4e-09b4-4d7f-af26-fba0731b9af1", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "c517211f-b05c-4072-a59b-d7e07258eba9", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.522Z", + "modified": "2022-08-08T19:42:27.522Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-02-true-make-recommendations.json" + }, + "tests": [] + }, + { + "_id": "84606fd4-0723-4927-8d86-4caec139ca11", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "652312fd-c9dc-48f6-8f2b-64ffa36d3385", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.523Z", + "modified": "2022-08-08T19:42:27.523Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-03-true-make-recommendations.json" + }, + "tests": [] + }, + { + "_id": "5cc6b8fb-ab0e-48d4-bcd3-9038e9246297", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION_LAO", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.524Z", + "modified": "2022-08-08T19:42:27.524Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-04-long-acting-opioid.xml" + }, + "tests": [] + }, + { + "_id": "08fc1968-6658-4fed-b2d4-54f3588319f2", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION_LAO", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.525Z", + "modified": "2022-08-08T19:42:27.525Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-04-long-acting-opioid.xml" + }, + "tests": [] + }, + { + "_id": "3a249b19-ac41-47e5-ab7e-aa9100bef7fd", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "b0fbf830-156e-4743-b074-8c4523410667", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.526Z", + "modified": "2022-08-08T19:42:27.526Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml" + }, + "tests": [] + }, + { + "_id": "6c6fde18-2b0c-45fd-aeb2-8dde8a3b2e8f", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "83de11e6-fee3-49e2-afc5-402fe6a28c69", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.527Z", + "modified": "2022-08-08T19:42:27.527Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json" + }, + "tests": [] + }, + { + "_id": "a5140727-df91-4b3c-8944-36f62cc15c26", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION_7OF10", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.528Z", + "modified": "2022-08-08T19:42:27.528Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml" + }, + "tests": [] + }, + { + "_id": "c8559a61-802d-417d-9d44-350da7863903", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION_MMEGT50", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.529Z", + "modified": "2022-08-08T19:42:27.529Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml" + }, + "tests": [] + }, + { + "_id": "5857ae0d-fb8f-42fc-89ef-5786b02ba3cd", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "3f2e1468-e24b-4dea-847d-1a6e5d7805ad", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.530Z", + "modified": "2022-08-08T19:42:27.530Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-09-true-return-recommendations.json" + }, + "tests": [] + }, + { + "_id": "7804ec2a-b60e-4782-83fb-e3ffffcd516b", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "7af2c44c-048f-40b1-93e7-6a59bb2dd18d", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.531Z", + "modified": "2022-08-08T19:42:27.531Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-10-no-screenings.xml" + }, + "tests": [] + }, + { + "_id": "7c80ba78-ca69-419b-acae-336b269b0b3f", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e5bfaa3a-364c-4d60-b893-084fd9adcc66", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.532Z", + "modified": "2022-08-08T19:42:27.532Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-10-no-screenings.xml" + }, + "tests": [] + }, + { + "_id": "e555bcfd-203b-4fc2-862d-98c9a25014cd", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION_BWO", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.533Z", + "modified": "2022-08-08T19:42:27.533Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml" + }, + "tests": [] + }, + { + "_id": "b670f7db-3422-4292-8bce-2b75f2c8672e", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "f853d5cc-f89d-4fdf-a254-2758b52160ec", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.534Z", + "modified": "2022-08-08T19:42:27.534Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-12-criteria-valid.json" + }, + "tests": [] + }, + { + "_id": "21c9b5e9-9b34-4156-abe6-c767610556ee", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION_BWO", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 20000, + "created": "2022-08-08T19:42:27.535Z", + "modified": "2022-08-08T19:42:27.535Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml" + }, + "tests": [] + }, + { + "_id": "c2c3035f-afd4-40e9-9b78-76e5b11517e4", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "6e0fdd9a-ae7e-4932-bc09-1f242c051283", + "name": "REQUEST_RETURN_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-01", + "method": "POST", + "sortNum": 21250, + "created": "2022-08-08T19:42:27.536Z", + "modified": "2022-08-08T19:42:27.536Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json" + }, + "tests": [] + }, + { + "_id": "416d5ce7-5805-4a63-8b94-03efecec6b6b", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", + "name": "REQUEST_RETURN_RECOMMENDATION_LAO", + "url": "{{cdsHooksServer}}/opioidcds-04-patient-view", + "method": "POST", + "sortNum": 22500, + "created": "2022-08-08T19:42:27.537Z", + "modified": "2022-08-08T19:42:27.537Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json" + }, + "tests": [] + }, + { + "_id": "59b236d3-de06-4761-abb0-e47be6b70d6b", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "REQUEST_RETURN_RECOMMENDATION_7OF10", + "url": "{{cdsHooksServer}}/opioidcds-07", + "method": "POST", + "sortNum": 22500, + "created": "2022-08-08T19:42:27.538Z", + "modified": "2022-08-08T19:42:27.538Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json" + }, + "tests": [] + }, + { + "_id": "b58520cd-5326-41bd-bf4a-0d723ef670dd", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "REQUEST_RETURN_RECOMMENDATION_MMEGT50", + "url": "{{cdsHooksServer}}/opioidcds-08", + "method": "POST", + "sortNum": 22500, + "created": "2022-08-08T19:42:27.539Z", + "modified": "2022-08-08T19:42:27.539Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json" + }, + "tests": [] + }, + { + "_id": "52ae2d1b-b5ff-46be-98bb-41ceac4bc3fa", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", + "name": "REQUEST_RETURN_RECOMMENDATION_BWO", + "url": "{{cdsHooksServer}}/opioidcds-11", + "method": "POST", + "sortNum": 22500, + "created": "2022-08-08T19:42:27.540Z", + "modified": "2022-08-08T19:42:27.540Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json" + }, + "tests": [] + }, + { + "_id": "39433c5e-f2e7-40f1-95f8-8710795530a6", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "6e0fdd9a-ae7e-4932-bc09-1f242c051283", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.541Z", + "modified": "2022-08-08T19:42:27.541Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json" + }, + "tests": [] + }, + { + "_id": "b3a7b2b0-4058-4342-81e3-0f8b3012e44a", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_NP", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.542Z", + "modified": "2022-08-08T19:42:27.542Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-04-new-patient.xml" + }, + "tests": [] + }, + { + "_id": "5ed47362-b8b4-4ea8-bb38-cf19f7a08445", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION_63OF90", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.543Z", + "modified": "2022-08-08T19:42:27.543Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml" + }, + "tests": [] + }, + { + "_id": "8534ef2c-e708-4366-ac39-d34106a3a83f", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION_ONBENZO", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.544Z", + "modified": "2022-08-08T19:42:27.544Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-08-on-benzodiazepine.xml" + }, + "tests": [] + }, + { + "_id": "0913d65f-8486-4fe2-9917-4fd497e7627f", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION_OWB", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.545Z", + "modified": "2022-08-08T19:42:27.545Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml" + }, + "tests": [] + }, + { + "_id": "574e61d4-cb85-4dda-b73a-715a3d957dac", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", + "name": "REQUEST_RETURN_RECOMMENDATION_LAO", + "url": "{{cdsHooksServer}}/opioidcds-04", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.546Z", + "modified": "2022-08-08T19:42:27.546Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json" + }, + "tests": [] + }, + { + "_id": "ba3d3fef-a25b-4af8-81ff-2815611174af", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "b0fbf830-156e-4743-b074-8c4523410667", + "name": "REQUEST_RETURN_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-05", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.547Z", + "modified": "2022-08-08T19:42:27.547Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json" + }, + "tests": [] + }, + { + "_id": "9ec4493a-4410-45c7-8dca-5b5ed884a540", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "83de11e6-fee3-49e2-afc5-402fe6a28c69", + "name": "REQUEST_RETURN_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-06", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.548Z", + "modified": "2022-08-08T19:42:27.548Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json" + }, + "tests": [] + }, + { + "_id": "277cd1e8-ff4f-41fc-a27b-c6df5ae869d4", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "3f2e1468-e24b-4dea-847d-1a6e5d7805ad", + "name": "REQUEST_RETURN_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-09", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.549Z", + "modified": "2022-08-08T19:42:27.549Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json" + }, + "tests": [] + }, + { + "_id": "7da36078-290b-4fdc-86da-fd7e480ece9f", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "7af2c44c-048f-40b1-93e7-6a59bb2dd18d", + "name": "REQUEST_RETURN_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-10", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.550Z", + "modified": "2022-08-08T19:42:27.550Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json" + }, + "tests": [] + }, + { + "_id": "92a005e1-7157-4d78-84cd-125a2b308b0b", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e5bfaa3a-364c-4d60-b893-084fd9adcc66", + "name": "REQUEST_RETURN_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-10-patient-view", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.551Z", + "modified": "2022-08-08T19:42:27.551Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json" + }, + "tests": [] + }, + { + "_id": "7de6bd8e-5701-4ee6-9e82-1ed61fa35b76", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", + "name": "REQUEST_RETURN_RECOMMENDATION_BWO", + "url": "{{cdsHooksServer}}/opioidcds-11-patient-view", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.552Z", + "modified": "2022-08-08T19:42:27.552Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json" + }, + "tests": [] + }, + { + "_id": "8fee184a-34de-4e68-905d-3ff6edd81ae6", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "f853d5cc-f89d-4fdf-a254-2758b52160ec", + "name": "REQUEST_RETURN_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-12", + "method": "POST", + "sortNum": 25000, + "created": "2022-08-08T19:42:27.553Z", + "modified": "2022-08-08T19:42:27.553Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json" + }, + "tests": [] + }, + { + "_id": "4527870f-a679-49c2-a09c-791f067704c9", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "REQUEST_RETURN_RECOMMENDATION_ONBENZO", + "url": "{{cdsHooksServer}}/opioidcds-08", + "method": "POST", + "sortNum": 26250, + "created": "2022-08-08T19:42:27.554Z", + "modified": "2022-08-08T19:42:27.554Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json" + }, + "tests": [] + }, + { + "_id": "bf3fb99b-d3fa-4748-8b5b-fedae7add088", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION_SA", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 27500, + "created": "2022-08-08T19:42:27.555Z", + "modified": "2022-08-08T19:42:27.555Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-08-substance-abuse.xml" + }, + "tests": [] + }, + { + "_id": "3cf9b23a-fe7d-4013-9ebc-6e6775cab36b", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_NP", + "url": "{{cdsHooksServer}}/opioidcds-04-patient-view", + "method": "POST", + "sortNum": 27500, + "created": "2022-08-08T19:42:27.556Z", + "modified": "2022-08-08T19:42:27.556Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json" + }, + "tests": [] + }, + { + "_id": "661f04d5-6177-4c6f-9231-38facc3858bd", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "REQUEST_RETURN_RECOMMENDATION_63OF90", + "url": "{{cdsHooksServer}}/opioidcds-07", + "method": "POST", + "sortNum": 27500, + "created": "2022-08-08T19:42:27.557Z", + "modified": "2022-08-08T19:42:27.557Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json" + }, + "tests": [] + }, + { + "_id": "50b9f93e-455b-4c66-97dc-dfd252618db2", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", + "name": "REQUEST_RETURN_RECOMMENDATION_OWB", + "url": "{{cdsHooksServer}}/opioidcds-11", + "method": "POST", + "sortNum": 27500, + "created": "2022-08-08T19:42:27.558Z", + "modified": "2022-08-08T19:42:27.558Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json" + }, + "tests": [] + }, + { + "_id": "3debcd38-1e02-4a49-9842-1a9c85e272ce", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "REQUEST_RETURN_RECOMMENDATION_SA", + "url": "{{cdsHooksServer}}/opioidcds-08", + "method": "POST", + "sortNum": 28750, + "created": "2022-08-08T19:42:27.559Z", + "modified": "2022-08-08T19:42:27.559Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json" + }, + "tests": [] + }, + { + "_id": "d1e4c13f-3f47-44cc-9e38-642f2f7c7a20", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "c517211f-b05c-4072-a59b-d7e07258eba9", + "name": "REQUEST_RETURN_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-02", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.560Z", + "modified": "2022-08-08T19:42:27.560Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json" + }, + "tests": [] + }, + { + "_id": "138c424e-25dd-4d79-bd46-c691e1426ede", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "652312fd-c9dc-48f6-8f2b-64ffa36d3385", + "name": "REQUEST_RETURN_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-03", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.561Z", + "modified": "2022-08-08T19:42:27.561Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json" + }, + "tests": [] + }, + { + "_id": "2b75729d-a82e-4076-a6c7-ec65ec67444b", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_NP", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.562Z", + "modified": "2022-08-08T19:42:27.562Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-04-new-patient.xml" + }, + "tests": [] + }, + { + "_id": "78be1cc6-2373-489e-8d76-bb42febecc9b", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_NLAO", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.563Z", + "modified": "2022-08-08T19:42:27.563Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml" + }, + "tests": [] + }, + { + "_id": "86afa770-3ed7-4e89-8087-1aac90013de1", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "b0fbf830-156e-4743-b074-8c4523410667", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.564Z", + "modified": "2022-08-08T19:42:27.564Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-05-mme-less-than-fifty.xml" + }, + "tests": [] + }, + { + "_id": "e4dfd170-7ca9-45d2-8a48-49aac46c485d", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "83de11e6-fee3-49e2-afc5-402fe6a28c69", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.565Z", + "modified": "2022-08-08T19:42:27.565Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-06-criteria-valid.json" + }, + "tests": [] + }, + { + "_id": "6a0b6222-266e-49fe-8257-80be707d7607", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_EOLE", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.566Z", + "modified": "2022-08-08T19:42:27.566Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-07-end-of-life-exclusion.xml" + }, + "tests": [] + }, + { + "_id": "a6590515-c51a-4dcc-90fe-ab3ac5bdb042", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_MMELT50", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.567Z", + "modified": "2022-08-08T19:42:27.567Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-08-mme-less-than-fifty.xml" + }, + "tests": [] + }, + { + "_id": "bc93529d-0562-442d-8e01-b190c15c468d", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "3f2e1468-e24b-4dea-847d-1a6e5d7805ad", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.568Z", + "modified": "2022-08-08T19:42:27.568Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json" + }, + "tests": [] + }, + { + "_id": "9a225c74-2fee-4cc7-bc30-e6b0258d6688", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e5bfaa3a-364c-4d60-b893-084fd9adcc66", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.569Z", + "modified": "2022-08-08T19:42:27.569Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml" + }, + "tests": [] + }, + { + "_id": "155a2fb3-7450-480f-8603-da844896fe9e", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_BWOO", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.570Z", + "modified": "2022-08-08T19:42:27.570Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml" + }, + "tests": [] + }, + { + "_id": "02cbcb61-1826-4747-bcce-d98c14f493ce", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "f853d5cc-f89d-4fdf-a254-2758b52160ec", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.571Z", + "modified": "2022-08-08T19:42:27.571Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-12-criteria-invalid.json" + }, + "tests": [] + }, + { + "_id": "58007aba-099a-4482-bc85-10601c83f23a", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "7af2c44c-048f-40b1-93e7-6a59bb2dd18d", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.572Z", + "modified": "2022-08-08T19:42:27.572Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml" + }, + "tests": [] + }, + { + "_id": "1456d582-f4bd-4087-a9af-fb4ba5c85a5d", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", + "name": "LOAD_PATIENT_DATA_RECOMMENDATION_OWB", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 30000, + "created": "2022-08-08T19:42:27.573Z", + "modified": "2022-08-08T19:42:27.573Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml" + }, + "tests": [] + }, + { + "_id": "ac15d726-4405-4cb9-ac11-d46e0287fb57", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_NP", + "url": "{{cdsHooksServer}}/opioidcds-04", + "method": "POST", + "sortNum": 35000, + "created": "2022-08-08T19:42:27.574Z", + "modified": "2022-08-08T19:42:27.574Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json" + }, + "tests": [] + }, + { + "_id": "e015296e-39b0-4a39-b1c2-4098c70142fe", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_NLAO", + "url": "{{cdsHooksServer}}/opioidcds-04-patient-view", + "method": "POST", + "sortNum": 35000, + "created": "2022-08-08T19:42:27.575Z", + "modified": "2022-08-08T19:42:27.575Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json" + }, + "tests": [] + }, + { + "_id": "4e49bf75-0ae5-4923-a60b-3c82678bad53", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_EOLE", + "url": "{{cdsHooksServer}}/opioidcds-07", + "method": "POST", + "sortNum": 35000, + "created": "2022-08-08T19:42:27.576Z", + "modified": "2022-08-08T19:42:27.576Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json" + }, + "tests": [] + }, + { + "_id": "db06b613-678d-46e2-ab0b-1f61c24ca355", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_MMELT50", + "url": "{{cdsHooksServer}}/opioidcds-08", + "method": "POST", + "sortNum": 35000, + "created": "2022-08-08T19:42:27.577Z", + "modified": "2022-08-08T19:42:27.577Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json" + }, + "tests": [] + }, + { + "_id": "57d1d45f-0bd5-4653-bf99-7264bcbdb743", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_BWOO", + "url": "{{cdsHooksServer}}/opioidcds-11", + "method": "POST", + "sortNum": 35000, + "created": "2022-08-08T19:42:27.578Z", + "modified": "2022-08-08T19:42:27.578Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json" + }, + "tests": [] + }, + { + "_id": "d0ef4bad-584c-478a-ac7c-af76ff9d7d8b", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", + "name": "REQUEST_RETURN_RECOMMENDATION_OWB", + "url": "{{cdsHooksServer}}/opioidcds-11-patient-view", + "method": "POST", + "sortNum": 35000, + "created": "2022-08-08T19:42:27.579Z", + "modified": "2022-08-08T19:42:27.579Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json" + }, + "tests": [] + }, + { + "_id": "7fb65aec-200c-4f6c-896f-bebe69470216", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "6e0fdd9a-ae7e-4932-bc09-1f242c051283", + "name": "REQUEST_RETURN_NO_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-01", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.580Z", + "modified": "2022-08-08T19:42:27.580Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json" + }, + "tests": [] + }, + { + "_id": "1b2b67d4-6bf2-4fd4-990d-904338df1582", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "c517211f-b05c-4072-a59b-d7e07258eba9", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.581Z", + "modified": "2022-08-08T19:42:27.581Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json" + }, + "tests": [] + }, + { + "_id": "05344f5e-d83c-43f8-a34f-7d86b8249ebf", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "652312fd-c9dc-48f6-8f2b-64ffa36d3385", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.582Z", + "modified": "2022-08-08T19:42:27.582Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json" + }, + "tests": [] + }, + { + "_id": "87219884-7f37-4b60-bd2d-3a517dc8374e", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_NLAO", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.583Z", + "modified": "2022-08-08T19:42:27.583Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml" + }, + "tests": [] + }, + { + "_id": "0f1ea5d3-6692-44bd-8b9a-811b9f3a6678", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWAP", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.584Z", + "modified": "2022-08-08T19:42:27.584Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml" + }, + "tests": [] + }, + { + "_id": "b931b5e5-cd2c-4966-a8ec-a3eb97a0441d", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_RA", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.585Z", + "modified": "2022-08-08T19:42:27.585Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-07-risk-assessment.xml" + }, + "tests": [] + }, + { + "_id": "9f296bea-2b0c-406f-adb5-cc12dc661b4a", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_ONNALOX", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.586Z", + "modified": "2022-08-08T19:42:27.586Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-08-on-naloxone.xml" + }, + "tests": [] + }, + { + "_id": "f3cb3907-f0c0-427e-8fa1-c240277034dc", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWOB", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.587Z", + "modified": "2022-08-08T19:42:27.587Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml" + }, + "tests": [] + }, + { + "_id": "b3529afb-a253-4874-8edd-77020f1a1382", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_BWOO", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.588Z", + "modified": "2022-08-08T19:42:27.588Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml" + }, + "tests": [] + }, + { + "_id": "a8ce9277-d070-414b-a06a-295d3a15ea97", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "b0fbf830-156e-4743-b074-8c4523410667", + "name": "REQUEST_RETURN_NO_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-05", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.589Z", + "modified": "2022-08-08T19:42:27.589Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json" + }, + "tests": [] + }, + { + "_id": "49b537ab-d029-4816-847e-f9f6925213b5", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "83de11e6-fee3-49e2-afc5-402fe6a28c69", + "name": "REQUEST_RETURN_NO_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-06", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.590Z", + "modified": "2022-08-08T19:42:27.590Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json" + }, + "tests": [] + }, + { + "_id": "e59e5d06-2742-4ffa-8ae6-8252a98dc9dd", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "3f2e1468-e24b-4dea-847d-1a6e5d7805ad", + "name": "REQUEST_RETURN_NO_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-09", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.591Z", + "modified": "2022-08-08T19:42:27.591Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json" + }, + "tests": [] + }, + { + "_id": "2d0c86a2-badc-488f-85c3-9a961f60dcae", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "7af2c44c-048f-40b1-93e7-6a59bb2dd18d", + "name": "REQUEST_RETURN_NO_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-10", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.592Z", + "modified": "2022-08-08T19:42:27.592Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json" + }, + "tests": [] + }, + { + "_id": "83a94d8b-f81f-4f96-a781-ac03a9fa723e", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e5bfaa3a-364c-4d60-b893-084fd9adcc66", + "name": "REQUEST_RETURN_NO_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-10-patient-view", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.593Z", + "modified": "2022-08-08T19:42:27.593Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json" + }, + "tests": [] + }, + { + "_id": "efb1a5ff-be14-415d-8b9b-2b15f82f3240", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "f853d5cc-f89d-4fdf-a254-2758b52160ec", + "name": "REQUEST_RETURN_NO_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-12", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-08T19:42:27.594Z", + "modified": "2022-08-08T19:42:27.594Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json" + }, + "tests": [] + }, + { + "_id": "a6fb3d2a-de40-4c16-bbe6-219240cf6d93", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_NLAO", + "url": "{{cdsHooksServer}}/opioidcds-04", + "method": "POST", + "sortNum": 45000, + "created": "2022-08-08T19:42:27.595Z", + "modified": "2022-08-08T19:42:27.595Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json" + }, + "tests": [] + }, + { + "_id": "ec005e4f-f271-43da-860f-cdc75f2e5586", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_RA", + "url": "{{cdsHooksServer}}/opioidcds-07", + "method": "POST", + "sortNum": 45000, + "created": "2022-08-08T19:42:27.596Z", + "modified": "2022-08-08T19:42:27.596Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json" + }, + "tests": [] + }, + { + "_id": "fec9233f-e865-4364-8b3a-b90a8e91d001", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_BWOO", + "url": "{{cdsHooksServer}}/opioidcds-11-patient-view", + "method": "POST", + "sortNum": 45000, + "created": "2022-08-08T19:42:27.597Z", + "modified": "2022-08-08T19:42:27.597Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json" + }, + "tests": [] + }, + { + "_id": "460ccd3e-63a5-40d1-b0c6-4dd88a1c474c", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "c517211f-b05c-4072-a59b-d7e07258eba9", + "name": "REQUEST_RETURN_NO_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-02", + "method": "POST", + "sortNum": 50000, + "created": "2022-08-08T19:42:27.598Z", + "modified": "2022-08-08T19:42:27.598Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json" + }, + "tests": [] + }, + { + "_id": "0cd03be3-e0e1-4e59-adf4-5bb8603600a9", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "652312fd-c9dc-48f6-8f2b-64ffa36d3385", + "name": "REQUEST_RETURN_NO_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-03", + "method": "POST", + "sortNum": 50000, + "created": "2022-08-08T19:42:27.599Z", + "modified": "2022-08-08T19:42:27.599Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json" + }, + "tests": [] + }, + { + "_id": "46adf0f2-925a-43cd-bf9c-d7413d49cebc", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWAP", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 50000, + "created": "2022-08-08T19:42:27.600Z", + "modified": "2022-08-08T19:42:27.600Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml" + }, + "tests": [] + }, + { + "_id": "99c9aa17-8cc9-47a4-bc97-d2bf311a1cfb", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_6OF10", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 50000, + "created": "2022-08-08T19:42:27.601Z", + "modified": "2022-08-08T19:42:27.601Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-07-six-of-past-ten-days.xml" + }, + "tests": [] + }, + { + "_id": "cacdfe69-f98f-4bf7-ac19-2fd8faa33247", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWOB", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 50000, + "created": "2022-08-08T19:42:27.602Z", + "modified": "2022-08-08T19:42:27.602Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml" + }, + "tests": [] + }, + { + "_id": "1354f038-d188-4eff-9454-8d30c72dbae4", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_OWAP", + "url": "{{cdsHooksServer}}/opioidcds-04-patient-view", + "method": "POST", + "sortNum": 50000, + "created": "2022-08-08T19:42:27.603Z", + "modified": "2022-08-08T19:42:27.603Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json" + }, + "tests": [] + }, + { + "_id": "694d27b1-4284-4711-b4a4-608023bea78f", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_ONNALOX", + "url": "{{cdsHooksServer}}/opioidcds-08", + "method": "POST", + "sortNum": 50000, + "created": "2022-08-08T19:42:27.604Z", + "modified": "2022-08-08T19:42:27.604Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json" + }, + "tests": [] + }, + { + "_id": "cfef4767-2df4-42f2-945d-a28b54808c8e", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_OWOB", + "url": "{{cdsHooksServer}}/opioidcds-11", + "method": "POST", + "sortNum": 50000, + "created": "2022-08-08T19:42:27.605Z", + "modified": "2022-08-08T19:42:27.605Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json" + }, + "tests": [] + }, + { + "_id": "ddb3a7b5-eb5c-402f-9824-f6b52f6e956a", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_6OF10", + "url": "{{cdsHooksServer}}/opioidcds-07", + "method": "POST", + "sortNum": 55000, + "created": "2022-08-08T19:42:27.606Z", + "modified": "2022-08-08T19:42:27.606Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json" + }, + "tests": [] + }, + { + "_id": "a8aa5912-d2f7-4b8c-a2b0-e9301dd8081f", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_62OF90", + "url": "{{fhirServer}}", + "method": "POST", + "sortNum": 60000, + "created": "2022-08-08T19:42:27.607Z", + "modified": "2022-08-08T19:42:27.607Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml" + }, + "tests": [] + }, + { + "_id": "ed511944-ff88-47bf-aed2-a0537b5f64f9", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_OWAP", + "url": "{{cdsHooksServer}}/opioidcds-04", + "method": "POST", + "sortNum": 60000, + "created": "2022-08-08T19:42:27.608Z", + "modified": "2022-08-08T19:42:27.608Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json" + }, + "tests": [] + }, + { + "_id": "4b37a3a6-e811-4382-8555-93b30101cc00", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_OWOB", + "url": "{{cdsHooksServer}}/opioidcds-11-patient-view", + "method": "POST", + "sortNum": 60000, + "created": "2022-08-08T19:42:27.609Z", + "modified": "2022-08-08T19:42:27.609Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json" + }, + "tests": [] + }, + { + "_id": "2805d5d6-eab6-46de-a346-76c44680825b", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_62OF90", + "url": "{{cdsHooksServer}}/opioidcds-07", + "method": "POST", + "sortNum": 70000, + "created": "2022-08-08T19:42:27.610Z", + "modified": "2022-08-08T19:42:27.610Z", + "headers": [], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json" + }, + "tests": [] + } +] \ No newline at end of file From 5c4cf9ba3bf7670b078a83a8d35ee892ea26445f Mon Sep 17 00:00:00 2001 From: c-schuler Date: Wed, 17 Aug 2022 17:01:42 -0600 Subject: [PATCH 05/24] Fixing issues with refresh --- _refresh.sh | 4 +- _refreshTestData.sh | 2 + ...ample-rec-08-order-sign-mme-doseRange.json | 158 ++++++++++++------ ...mple-rec-11-benzo-trigger-with-opioid.json | 16 +- input/resources/library/MMECalculator.json | 6 +- input/resources/library/OpioidCDSCommon.json | 6 +- .../library/OpioidCDSREC10PatientView.json | 4 +- 7 files changed, 128 insertions(+), 68 deletions(-) mode change 100644 => 100755 _refreshTestData.sh diff --git a/_refresh.sh b/_refresh.sh index 1ea22736..0ea824e7 100644 --- a/_refresh.sh +++ b/_refresh.sh @@ -23,13 +23,13 @@ echo "$fsoption" tooling=$input_cache_path/$tooling_jar if test -f "$tooling"; then JAVA -jar $tooling -RefreshIG -ini="$ig_ini_path" -rp="$resources_path" -d -p -t -ss=false $fsoption - ./_refreshTestData.sh -watch + chmod +x ./_refreshTestData.sh else tooling=../$tooling_jar echo $tooling if test -f "$tooling"; then JAVA -jar $tooling -RefreshIG -ini="$ig_ini_path" -rp="$resources_path" -d -p -t -ss=false $fsoption - ./_refreshTestData.sh -watch + chmod +x ./_refreshTestData.sh else echo IG Refresh NOT FOUND in input-cache or parent folder. Please run _updateCQFTooling. Aborting... fi diff --git a/_refreshTestData.sh b/_refreshTestData.sh old mode 100644 new mode 100755 index 0622895d..d207b131 --- a/_refreshTestData.sh +++ b/_refreshTestData.sh @@ -5,6 +5,8 @@ input_cache_path=$PWD/input-cache patient_data_bundles=$PWD/input/examples service_requests=$PWD/input/pagecontent/requests +echo Refreshing Test Data... + tooling=$input_cache_path/$tooling_jar if test -f "$tooling"; then JAVA -jar $tooling -RollTestsDataDates -v=r4 -ip="$patient_data_bundles" diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json index e66b5025..a0a9b628 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json @@ -14,6 +14,26 @@ "resource": { "resourceType": "MedicationRequest", "id": "rec-08-order-sign", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], "status": "active", "intent": "order", "category": [ @@ -98,13 +118,13 @@ "start": "2022-04-28", "end": "2022-08-28" }, + "numberOfRepeatsAllowed": 3, "quantity": { "value": 2, "unit": "Tablet", "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", "code": "TAB" }, - "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { "value": 30.0, "unit": "days", @@ -125,68 +145,104 @@ "resource": { "resourceType": "Patient", "id": "example-rec-08-order-sign", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], "gender": "male", "birthDate": "1982-05-05" } }, "item2": null, "item3": { - "resourceType": "Bundle", - "type": "searchset", - "entry": [ - { - "resource": { - "resourceType": "Condition", - "code": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "66590003", - "display": "Alcohol dependence" + "response": null, + "resource": { + "resourceType": "Condition", + "id": "example-rec-08-order-sign", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-03" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" } - ] - }, - "category": [ + } + ] + } + ], + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "resolved" + } + ] + }, + "verificationStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", + "code": "confirmed" + } + ] + }, + "category": [ + { + "coding": [ { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "problem-list-item", - "display": "Problem List Item" - } - ], - "text": "Problem List Item" + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "problem-list-item", + "display": "Problem List Item" } ], - "clinicalStatus": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "resolved" - } - ] - }, - "verificationStatus": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", - "code": "confirmed" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-08-order-sign" - }, - "encounter": { - "reference": "Encounter/example-rec-08-order-sign" - }, - "onsetDateTime": "2018-05-05", - "recorder": { - "reference": "Practitioner/example-rec-08-order-sign" - } + "text": "Problem List Item" } + ], + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "66590003", + "display": "Alcohol dependence" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-08-order-sign" + }, + "encounter": { + "reference": "Encounter/example-rec-08-order-sign" + }, + "onsetDateTime": "2018-05-05", + "recorder": { + "reference": "Practitioner/example-rec-08-order-sign" } - ] + } }, "item4": null, "item5": null, diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json index 36349917..7229ac46 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json @@ -75,14 +75,16 @@ } }, "asNeededBoolean": false, - "doseAndRate": { - "doseQuantity": { - "value": 1.0, - "unit": "capsule", - "system": "http://unitsofmeasure.org", - "code": "{capsule}" + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "capsule", + "system": "http://unitsofmeasure.org", + "code": "{capsule}" + } } - } + ] } ], "dispenseRequest": { diff --git a/input/resources/library/MMECalculator.json b/input/resources/library/MMECalculator.json index 8e6102ff..bf4aefb7 100644 --- a/input/resources/library/MMECalculator.json +++ b/input/resources/library/MMECalculator.json @@ -186,12 +186,12 @@ } ], "content": [ { "contentType": "text/cql", - "data": "bGlicmFyeSBNTUVDYWxjdWxhdG9yIHZlcnNpb24gJzMuMC4wJwoKLyoKVGhpcyBsaWJyYXJ5IGNvbnRhaW5zIGxvZ2ljIHRvIHN1cmZhY2UgdGhlIE1NRSBjYWxjdWxhdGlvbiBmdW5jdGlvbmFsaXR5IHByb3ZpZGVkCmJ5IHRoZSBPTVRLTG9naWMgbGlicmFyeSBieSBleHRyYWN0aW5nIGFwcHJvcHJpYXRlIGluZm9ybWF0aW9uIGZyb20gRkhJUiBSNApNZWRpY2F0aW9uUmVxdWVzdCByZXNvdXJjZS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIE9NVEtMb2dpYyB2ZXJzaW9uICczLjAuMCcKCnBhcmFtZXRlciBFcnJvckxldmVsIFN0cmluZyBkZWZhdWx0ICdXYXJuaW5nJwoKY29udGV4dCBQYXRpZW50CgovKgpIZWxwZXIgZnVuY3Rpb24gdG8gZm9yY2UgdGhlIGNob2ljZSBvZiB0aGUgRkhJUi5SYW5nZSB2YWx1ZS4KVGhpcyBhdm9pZHMgdGhlIG5lZWQgZm9yIHRoZSBfaXNfIGFuZCBfYXNfIG9wZXJhdG9ycyBvbiBjaG9pY2VzLAp3aGljaCBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIEphdmFTY3JpcHQgQ1FMIGVuZ2luZS4KKi8KZGVmaW5lIGZ1bmN0aW9uIFRvRkhJUlJhbmdlKHJhbmdlIEZISVIuUmFuZ2UpOgogIHJhbmdlCgovKgpIZWxwZXIgZnVuY3Rpb24gdG8gZm9yY2UgdGhlIGNob2ljZSBvZiB0aGUgRkhJUi5TaW1wbGVRdWFudGl0eSB2YWx1ZS4KVGhpcyBhdm9pZHMgdGhlIG5lZWQgZm9yIHRoZSBfaXNfIGFuZCBfYXNfIG9wZXJhdG9ycyBvbiBjaG9pY2VzLAp3aGljaCBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIEphdmFTY3JpcHQgQ1FMIGVuZ2luZS4KKi8KZGVmaW5lIGZ1bmN0aW9uIFRvRkhJUlF1YW50aXR5KHF1YW50aXR5IEZISVIuU2ltcGxlUXVhbnRpdHkpOgogIHF1YW50aXR5CgovKgpIZWxwZXIgZnVuY3Rpb24gdG8gZm9yY2UgdGhlIGNob2ljZSBvZiB0aGUgRkhJUi5Db2RlYWJsZUNvbmNlcHQgdmFsdWUuClRoaXMgYXZvaWRzIHRoZSBuZWVkIGZvciB0aGUgX2lzXyBhbmQgX2FzXyBvcGVyYXRvcnMgb24gY2hvaWNlcywKd2hpY2ggaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBKYXZhU2NyaXB0IENRTCBlbmdpbmUuCiovCmRlZmluZSBmdW5jdGlvbiBUb0ZISVJDb2RlYWJsZUNvbmNlcHQoY29kZWFibGVDb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICBjb2RlYWJsZUNvbmNlcHQKCi8qCkZISVJIZWxwZXJzIFRvUXVhbnRpdHkgbG9naWMgaW5jb3JyZWN0bHkgdXNlcyB0aGUgdW5pdCBlbGVtZW50IG9mIHRoZSBGSElSIFF1YW50aXR5LAp3aGVuIGl0IHNob3VsZCBiZSB1c2luZyB0aGUgY29kZSBlbGVtZW50IGFzIHRoZSBhY3R1YWwgY29kZWQgdW5pdC4KaHR0cHM6Ly9naXRodWIuY29tL2NxZnJhbWV3b3JrL2NsaW5pY2FsX3F1YWxpdHlfbGFuZ3VhZ2UvaXNzdWVzLzU1NwoKVW50aWwgdGhlIGFib3ZlIGlzc3VlIGlzIGFkZHJlc3NlZCwgdGhpcyBmdW5jdGlvbiBwcm92aWRlcyBUb1F1YW50aXR5IGZ1bmN0aW9uYWxpdHkgZm9yIHRoaXMgbGlicmFyeQoqLwpkZWZpbmUgZnVuY3Rpb24gVG9RdWFudGl0eShxdWFudGl0eSBGSElSLlNpbXBsZVF1YW50aXR5KToKICBjYXNlCiAgICB3aGVuIHF1YW50aXR5IGlzIG51bGwgdGhlbiBudWxsCiAgICB3aGVuIHF1YW50aXR5LnZhbHVlIGlzIG51bGwgdGhlbiBudWxsCiAgICB3aGVuIHF1YW50aXR5LnN5c3RlbSBpcyBudWxsIG9yIHF1YW50aXR5LnN5c3RlbSA9ICdodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnJyB0aGVuCiAgICAgIFN5c3RlbS5RdWFudGl0eSB7CiAgICAgICAgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLAogICAgICAgIHVuaXQ6IHF1YW50aXR5LmNvZGUudmFsdWUKICAgICAgfQogICAgZWxzZQogICAgICBNZXNzYWdlKG51bGwsIHRydWUsICdNTUVDYWxjdWxhdG9yLlRvUXVhbnRpdHkuSW52YWxpZEZISVJRdWFudGl0eScsIEVycm9yTGV2ZWwsICdJbnZhbGlkIEZISVIgUXVhbnRpdHkgY29kZTogJyAmIHF1YW50aXR5LmNvZGUudmFsdWUpCmVuZAoKLyoKRXh0cmFjdHMgdGhlIHJlbGV2YW50IGluZm9ybWF0aW9uIGZvciBwcmVzY3JpcHRpb24gY2FsY3VsYXRpb24gZnJvbSBhIGxpc3Qgb2YKRkhJUiBNZWRpY2F0aW9uUmVxdWVzdCByZXNvdXJjZXMuIFRoaXMgYXNzdW1lcyBhIE1lZGljYXRpb25SZXF1ZXN0IHRoYXQgY29uZm9ybXMKdG8gdGhlIE1NRU1lZGljYXRpb25SZXF1ZXN0IHByb2ZpbGUsIHNwZWNpZmljYWxseToKKiAxIGFuZCBvbmx5IDEgZG9zYWdlSW5zdHJ1Y3Rpb24KKiAxIGFuZCBvbmx5IDEgZG9zZUFuZFJhdGUKKiAxIHRpbWluZyB3aXRoIDEgcmVwZWF0CiogZnJlcXVlbmN5LCBmcmVxdWVuY3lNYXgsIGRlZmF1bHRpbmcgdG8gMQoqIHBlcmlvZCwgcGVyaW9kVW5pdCwgZGVmYXVsdGluZyB0byAxICdkJwoqIGRvc2VRdWFudGl0eSBvciBkb3NlUmFuZ2UKKiB0aW1lT2ZEYXkKCk5vdGUgdGhhdCBpZiB0aW1lT2ZEYXkgaXMgc3BlY2lmaWVkIGluIGFkZGl0aW9uIHRvIGZyZXF1ZW5jeSBhbmQgcGVyaW9kLCBpdCBpcyBpZ25vcmVkIChpLmUuIGFzc3VtZWQgdG8gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBzcGVjaWZpZWQgZnJlcXVlbmN5IGFuZCBwZXJpb2QpLgpUaW1lT2ZEYXkgaXMgb25seSB1c2VkIHRvIGRldGVybWluZSB0aW1lc1BlckRheSBpZiBmcmVxdWVuY3kgYW5kIHBlcmlvZCBhcmUgbm90IHNwZWNpZmllZC4KKi8KZGVmaW5lIGZ1bmN0aW9uIFByZXNjcmlwdGlvbnMoT3JkZXJzIExpc3Q8TWVkaWNhdGlvblJlcXVlc3Q+KToKICBPcmRlcnMgTwogICAgbGV0CiAgICAgIHJ4Tm9ybUNvZGU6IE9NVEtMb2dpYy5HZXRNZWRpY2F0aW9uQ29kZShPLm1lZGljYXRpb24pLAogICAgICBtZWRpY2F0aW9uTmFtZTogT01US0xvZ2ljLkdldE1lZGljYXRpb25OYW1lKHJ4Tm9ybUNvZGUpLAogICAgICAvLyBOT1RFOiBBc3N1bWluZyBhIHNpbmdsZSBkb3NhZ2UgaW5zdHJ1Y3Rpb24gZWxlbWVudAogICAgICBkb3NhZ2VJbnN0cnVjdGlvbjogc2luZ2xldG9uIGZyb20gTy5kb3NhZ2VJbnN0cnVjdGlvbiwKICAgICAgLy8gIE5PVEU6IFNvbWUgc3lzdGVtcyByZXR1cm4gbXVsdGlwbGUgZG9zZUFuZFJhdGUgZW50cmllcywgd2l0aCBzeXN0ZW0tc3BlY2lmaWMgY29kZXMgZm9yIHRoZSB0eXBlcy4gSW4gdGhvc2UgY2FzZXMsCiAgICAgIC8vICB0aGlzIGxvZ2ljIHNob3VsZCBzZWxlY3QgdGhlIG1vc3QgYXBwcm9wcmlhdGUgZG9zZSBhbmQgcmF0ZSwgYnV0IHN0YW5kYXJkaXphdGlvbiBvbiBkb3NlQW5kUmF0ZSB0eXBlIGNvZGVzIGlzCiAgICAgIC8vICBuZWVkZWQgdG8gbWFrZSB0aGlzIGxvZ2ljIHNoYXJlYWJsZQogICAgICBkb3NlQW5kUmF0ZTogc2luZ2xldG9uIGZyb20gKGRvc2FnZUluc3RydWN0aW9uLmRvc2VBbmRSYXRlIERSIHdoZXJlIERSLnR5cGUgaXMgbnVsbCBvciBEUi50eXBlLnRleHQgPSAnb3JkZXJlZCcpLAogICAgICByZXBlYXQ6IGRvc2FnZUluc3RydWN0aW9uLnRpbWluZy5yZXBlYXQsCiAgICAgIGZyZXF1ZW5jeTogQ29hbGVzY2UocmVwZWF0LmZyZXF1ZW5jeU1heC52YWx1ZSwgcmVwZWF0LmZyZXF1ZW5jeS52YWx1ZSksCiAgICAgIHBlcmlvZDogT01US0xvZ2ljLlF1YW50aXR5KHJlcGVhdC5wZXJpb2QudmFsdWUsIHJlcGVhdC5wZXJpb2RVbml0LnZhbHVlKSwKICAgICAgZG9zZVJhbmdlOiBUb0ZISVJSYW5nZShkb3NlQW5kUmF0ZS5kb3NlKSwKICAgICAgZG9zZVF1YW50aXR5OiBUb0ZISVJRdWFudGl0eShkb3NlQW5kUmF0ZS5kb3NlKSwKICAgICAgdGltZXNQZXJEYXk6IENvdW50KHJlcGVhdC50aW1lT2ZEYXkpLAogICAgICBkb3NlRGVzY3JpcHRpb246CiAgICAgICAgQ29hbGVzY2UoCiAgICAgICAgICBUb1N0cmluZyhUb1F1YW50aXR5KGRvc2VRdWFudGl0eSkpLAogICAgICAgICAgVG9TdHJpbmcoZG9zZVJhbmdlLmxvdy52YWx1ZS52YWx1ZSkgKyAnLScgKyBUb1N0cmluZyhkb3NlUmFuZ2UuaGlnaC52YWx1ZS52YWx1ZSkgKyAnICcgKyBkb3NlUmFuZ2UuaGlnaC51bml0LnZhbHVlCiAgICAgICAgKSwKICAgICAgZnJlcXVlbmN5RGVzY3JpcHRpb246CiAgICAgICAgVG9TdHJpbmcoZG9zYWdlSW5zdHJ1Y3Rpb24udGltaW5nLnJlcGVhdC5mcmVxdWVuY3kudmFsdWUpICsKICAgICAgICAgIENvYWxlc2NlKAogICAgICAgICAgICAnLScgKyBUb1N0cmluZyhkb3NhZ2VJbnN0cnVjdGlvbi50aW1pbmcucmVwZWF0LmZyZXF1ZW5jeU1heC52YWx1ZSksCiAgICAgICAgICAgICcnCiAgICAgICAgICApCiAgICByZXR1cm4gewogICAgICByeE5vcm1Db2RlOiByeE5vcm1Db2RlLAogICAgICBpc0RyYWZ0OiBPLnN0YXR1cy52YWx1ZSA9ICdkcmFmdCcsCiAgICAgIC8vIE5PVEU6IEFzc3VtaW5nIGFzTmVlZGVkIGlzIGV4cHJlc3NlZCBhcyBhIGJvb2xlYW4KICAgICAgaXNQUk46IGRvc2FnZUluc3RydWN0aW9uLmFzTmVlZGVkLAogICAgICBwcmVzY3JpcHRpb246CiAgICAgICAgaWYgZG9zYWdlSW5zdHJ1Y3Rpb24udGV4dCBpcyBub3QgbnVsbCB0aGVuCiAgICAgICAgICBtZWRpY2F0aW9uTmFtZSArICcgJyArIGRvc2FnZUluc3RydWN0aW9uLnRleHQudmFsdWUKICAgICAgICBlbHNlCiAgICAgICAgICAvLyBUT0RPOiBTaG91bGRuJ3QgbmVlZCB0aGUgLnZhbHVlIGhlcmUgb24gYXNOZWVkZWRCb29sZWFuCiAgICAgICAgICBtZWRpY2F0aW9uTmFtZSArICcgJyArIGRvc2VEZXNjcmlwdGlvbiArICcgcScgKyBmcmVxdWVuY3lEZXNjcmlwdGlvbiArIChpZiBkb3NhZ2VJbnN0cnVjdGlvbi5hc05lZWRlZCB0aGVuICcgUFJOJyBlbHNlICcnKSwKICAgICAgZG9zZTogVG9RdWFudGl0eShDb2FsZXNjZShkb3NlUXVhbnRpdHksIGRvc2VSYW5nZS5oaWdoKSksCiAgICAgIGRvc2VzUGVyRGF5OiBDb2FsZXNjZShPTVRLTG9naWMuVG9EYWlseShmcmVxdWVuY3ksIHBlcmlvZCksIHRpbWVzUGVyRGF5LCAxLjApCiAgICB9CgovKgpDYWxjdWxhdGVzIE1vcnBoaW5lIE1pbGxpZ3JhbSBFcXVpdmFsZW50IChNTUUpIGZvciBlYWNoIG1lZGljYXRpb24gaW4gdGhlIGdpdmVuCmxpc3QuIFRoZSBjYWxjdWxhdGlvbiBhc3N1bWVzIHRoZSBtb3N0IGFnZ3Jlc2l2ZSBkb3NpbmcsIGFuZCBpcyBwZXJmb3JtZWQgZm9yIGFsbAptZWRpY2F0aW9ucyBpbiB0aGUgZ2l2ZW4gbGlzdCAoaS5lLiBubyBhZGRpdGlvbmFsIGZpbHRlcmluZyBmb3Igc3RhdHVzIGlzIHBlcmZvcm1lZCkuCiovCmRlZmluZSBmdW5jdGlvbiBNTUUocHJlc2NyaXB0aW9ucyBMaXN0PE1lZGljYXRpb25SZXF1ZXN0Pik6CiAgKFByZXNjcmlwdGlvbnMocHJlc2NyaXB0aW9ucykpIFAKICAgIGxldCBtbWVQZXJJbmdyZWRpZW50OiBPTVRLTG9naWMuQ2FsY3VsYXRlTU1Fcyh7IHsgcnhOb3JtQ29kZTogUC5yeE5vcm1Db2RlLCBkb3NlUXVhbnRpdHk6IFAuZG9zZSwgZG9zZXNQZXJEYXk6IFAuZG9zZXNQZXJEYXkgfSB9KQogICAgcmV0dXJuIHsKICAgICAgcnhOb3JtQ29kZTogUC5yeE5vcm1Db2RlLAogICAgICBpc0RyYWZ0OiBQLmlzRHJhZnQsCiAgICAgIGlzUFJOOiBQLmlzUFJOLAogICAgICBwcmVzY3JpcHRpb246IFAucHJlc2NyaXB0aW9uLAogICAgICBkYWlseURvc2U6IENvbWJpbmUobW1lUGVySW5ncmVkaWVudCBYIHJldHVybiBYLmRhaWx5RG9zZURlc2NyaXB0aW9uLCAnXHJcbicpLAogICAgICBtbWU6IFN1bShtbWVQZXJJbmdyZWRpZW50IFggcmV0dXJuIFgubW1lKQogICAgfQoKLyoKQ2FsY3VsYXRlcyB0b3RhbCBNb3JwaGluZSBNaWxsaWdyYW0gRXF1aXZhbGVudCAoTU1FKSBmb3IgdGhlIGdpdmVuIGxpc3Qgb2YgbWVkaWNhdGlvbnMuClRoZSBjYWxjdWxhdGlvbiBhc3N1bWVzIHRoZSBtb3N0IGFnZ3Jlc3NpdmUgZG9zaW5nLCBhbmQgaXMgcGVyZm9ybWVkIGZvciBhbGwKbWVkaWNhdGlvbnMgaW4gdGhlIGdpdmVuIGxpc3QgKGkuZS4gbm8gYWRkaXRpb25hbCBmaWx0ZXJpbmcgZm9yIHN0YXR1cyBpcyBwZXJmb3JtZWQpLgoqLwpkZWZpbmUgZnVuY3Rpb24gVG90YWxNTUUocHJlc2NyaXB0aW9ucyBMaXN0PE1lZGljYXRpb25SZXF1ZXN0Pik6CiAgT01US0xvZ2ljLlF1YW50aXR5KAogICAgU3VtKChNTUUocHJlc2NyaXB0aW9ucykpIE0gcmV0dXJuIE0ubW1lLnZhbHVlKSwKICAgICd7TU1FfS9kJwogICk=" + "data": "bGlicmFyeSBNTUVDYWxjdWxhdG9yIHZlcnNpb24gJzMuMC4wJwoKLyoKVGhpcyBsaWJyYXJ5IGNvbnRhaW5zIGxvZ2ljIHRvIHN1cmZhY2UgdGhlIE1NRSBjYWxjdWxhdGlvbiBmdW5jdGlvbmFsaXR5IHByb3ZpZGVkCmJ5IHRoZSBPTVRLTG9naWMgbGlicmFyeSBieSBleHRyYWN0aW5nIGFwcHJvcHJpYXRlIGluZm9ybWF0aW9uIGZyb20gRkhJUiBSNApNZWRpY2F0aW9uUmVxdWVzdCByZXNvdXJjZS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIE9NVEtMb2dpYyB2ZXJzaW9uICczLjAuMCcKCnBhcmFtZXRlciBFcnJvckxldmVsIFN0cmluZyBkZWZhdWx0ICdXYXJuaW5nJwoKY29udGV4dCBQYXRpZW50CgovKgpIZWxwZXIgZnVuY3Rpb24gdG8gZm9yY2UgdGhlIGNob2ljZSBvZiB0aGUgRkhJUi5SYW5nZSB2YWx1ZS4KVGhpcyBhdm9pZHMgdGhlIG5lZWQgZm9yIHRoZSBfaXNfIGFuZCBfYXNfIG9wZXJhdG9ycyBvbiBjaG9pY2VzLAp3aGljaCBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIEphdmFTY3JpcHQgQ1FMIGVuZ2luZS4KKi8KZGVmaW5lIGZ1bmN0aW9uIFRvRkhJUlJhbmdlKHJhbmdlIEZISVIuUmFuZ2UpOgogIHJhbmdlCgovKgpIZWxwZXIgZnVuY3Rpb24gdG8gZm9yY2UgdGhlIGNob2ljZSBvZiB0aGUgRkhJUi5TaW1wbGVRdWFudGl0eSB2YWx1ZS4KVGhpcyBhdm9pZHMgdGhlIG5lZWQgZm9yIHRoZSBfaXNfIGFuZCBfYXNfIG9wZXJhdG9ycyBvbiBjaG9pY2VzLAp3aGljaCBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIEphdmFTY3JpcHQgQ1FMIGVuZ2luZS4KKi8KZGVmaW5lIGZ1bmN0aW9uIFRvRkhJUlF1YW50aXR5KHF1YW50aXR5IEZISVIuU2ltcGxlUXVhbnRpdHkpOgogIHF1YW50aXR5CgovKgpIZWxwZXIgZnVuY3Rpb24gdG8gZm9yY2UgdGhlIGNob2ljZSBvZiB0aGUgRkhJUi5Db2RlYWJsZUNvbmNlcHQgdmFsdWUuClRoaXMgYXZvaWRzIHRoZSBuZWVkIGZvciB0aGUgX2lzXyBhbmQgX2FzXyBvcGVyYXRvcnMgb24gY2hvaWNlcywKd2hpY2ggaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBKYXZhU2NyaXB0IENRTCBlbmdpbmUuCiovCmRlZmluZSBmdW5jdGlvbiBUb0ZISVJDb2RlYWJsZUNvbmNlcHQoY29kZWFibGVDb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICBjb2RlYWJsZUNvbmNlcHQKCi8qCkZISVJIZWxwZXJzIFRvUXVhbnRpdHkgbG9naWMgaW5jb3JyZWN0bHkgdXNlcyB0aGUgdW5pdCBlbGVtZW50IG9mIHRoZSBGSElSIFF1YW50aXR5LAp3aGVuIGl0IHNob3VsZCBiZSB1c2luZyB0aGUgY29kZSBlbGVtZW50IGFzIHRoZSBhY3R1YWwgY29kZWQgdW5pdC4KaHR0cHM6Ly9naXRodWIuY29tL2NxZnJhbWV3b3JrL2NsaW5pY2FsX3F1YWxpdHlfbGFuZ3VhZ2UvaXNzdWVzLzU1NwoKVW50aWwgdGhlIGFib3ZlIGlzc3VlIGlzIGFkZHJlc3NlZCwgdGhpcyBmdW5jdGlvbiBwcm92aWRlcyBUb1F1YW50aXR5IGZ1bmN0aW9uYWxpdHkgZm9yIHRoaXMgbGlicmFyeQoqLwpkZWZpbmUgZnVuY3Rpb24gVG9RdWFudGl0eShxdWFudGl0eSBGSElSLlNpbXBsZVF1YW50aXR5KToKICBjYXNlCiAgICB3aGVuIHF1YW50aXR5IGlzIG51bGwgdGhlbiBudWxsCiAgICB3aGVuIHF1YW50aXR5LnZhbHVlIGlzIG51bGwgdGhlbiBudWxsCiAgICB3aGVuIHF1YW50aXR5LnN5c3RlbSBpcyBudWxsIG9yIHF1YW50aXR5LnN5c3RlbSA9ICdodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnJyB0aGVuCiAgICAgIFN5c3RlbS5RdWFudGl0eSB7CiAgICAgICAgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLAogICAgICAgIHVuaXQ6IHF1YW50aXR5LmNvZGUudmFsdWUKICAgICAgfQogICB3aGVuIHF1YW50aXR5LnN5c3RlbS52YWx1ZSA9ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL3YzLW9yZGVyYWJsZURydWdGb3JtJyB0aGVuCiAgICBTeXN0ZW0uUXVhbnRpdHkgeyB2YWx1ZTogcXVhbnRpdHkudmFsdWUudmFsdWUsIHVuaXQ6IENvYWxlc2NlKHF1YW50aXR5LmNvZGUudmFsdWUsIHF1YW50aXR5LnVuaXQudmFsdWUpfQogICBlbHNlCiAgICAgIE1lc3NhZ2UobnVsbCwgdHJ1ZSwgJ01NRUNhbGN1bGF0b3IuVG9RdWFudGl0eS5JbnZhbGlkRkhJUlF1YW50aXR5JywgRXJyb3JMZXZlbCwgJ0ludmFsaWQgRkhJUiBRdWFudGl0eSBjb2RlOiAnICYgcXVhbnRpdHkuY29kZS52YWx1ZSkKZW5kCgovKgpFeHRyYWN0cyB0aGUgcmVsZXZhbnQgaW5mb3JtYXRpb24gZm9yIHByZXNjcmlwdGlvbiBjYWxjdWxhdGlvbiBmcm9tIGEgbGlzdCBvZgpGSElSIE1lZGljYXRpb25SZXF1ZXN0IHJlc291cmNlcy4gVGhpcyBhc3N1bWVzIGEgTWVkaWNhdGlvblJlcXVlc3QgdGhhdCBjb25mb3Jtcwp0byB0aGUgTU1FTWVkaWNhdGlvblJlcXVlc3QgcHJvZmlsZSwgc3BlY2lmaWNhbGx5OgoqIDEgYW5kIG9ubHkgMSBkb3NhZ2VJbnN0cnVjdGlvbgoqIDEgYW5kIG9ubHkgMSBkb3NlQW5kUmF0ZQoqIDEgdGltaW5nIHdpdGggMSByZXBlYXQKKiBmcmVxdWVuY3ksIGZyZXF1ZW5jeU1heCwgZGVmYXVsdGluZyB0byAxCiogcGVyaW9kLCBwZXJpb2RVbml0LCBkZWZhdWx0aW5nIHRvIDEgJ2QnCiogZG9zZVF1YW50aXR5IG9yIGRvc2VSYW5nZQoqIHRpbWVPZkRheQoKTm90ZSB0aGF0IGlmIHRpbWVPZkRheSBpcyBzcGVjaWZpZWQgaW4gYWRkaXRpb24gdG8gZnJlcXVlbmN5IGFuZCBwZXJpb2QsIGl0IGlzIGlnbm9yZWQgKGkuZS4gYXNzdW1lZCB0byBiZSBjb25zaXN0ZW50IHdpdGggdGhlIHNwZWNpZmllZCBmcmVxdWVuY3kgYW5kIHBlcmlvZCkuClRpbWVPZkRheSBpcyBvbmx5IHVzZWQgdG8gZGV0ZXJtaW5lIHRpbWVzUGVyRGF5IGlmIGZyZXF1ZW5jeSBhbmQgcGVyaW9kIGFyZSBub3Qgc3BlY2lmaWVkLgoqLwpkZWZpbmUgZnVuY3Rpb24gUHJlc2NyaXB0aW9ucyhPcmRlcnMgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pOgogIE9yZGVycyBPCiAgICBsZXQKICAgICAgcnhOb3JtQ29kZTogT01US0xvZ2ljLkdldE1lZGljYXRpb25Db2RlKE8ubWVkaWNhdGlvbiksCiAgICAgIG1lZGljYXRpb25OYW1lOiBPTVRLTG9naWMuR2V0TWVkaWNhdGlvbk5hbWUocnhOb3JtQ29kZSksCiAgICAgIC8vIE5PVEU6IEFzc3VtaW5nIGEgc2luZ2xlIGRvc2FnZSBpbnN0cnVjdGlvbiBlbGVtZW50CiAgICAgIGRvc2FnZUluc3RydWN0aW9uOiBzaW5nbGV0b24gZnJvbSBPLmRvc2FnZUluc3RydWN0aW9uLAogICAgICAvLyAgTk9URTogU29tZSBzeXN0ZW1zIHJldHVybiBtdWx0aXBsZSBkb3NlQW5kUmF0ZSBlbnRyaWVzLCB3aXRoIHN5c3RlbS1zcGVjaWZpYyBjb2RlcyBmb3IgdGhlIHR5cGVzLiBJbiB0aG9zZSBjYXNlcywKICAgICAgLy8gIHRoaXMgbG9naWMgc2hvdWxkIHNlbGVjdCB0aGUgbW9zdCBhcHByb3ByaWF0ZSBkb3NlIGFuZCByYXRlLCBidXQgc3RhbmRhcmRpemF0aW9uIG9uIGRvc2VBbmRSYXRlIHR5cGUgY29kZXMgaXMKICAgICAgLy8gIG5lZWRlZCB0byBtYWtlIHRoaXMgbG9naWMgc2hhcmVhYmxlCiAgICAgIGRvc2VBbmRSYXRlOiBzaW5nbGV0b24gZnJvbSAoZG9zYWdlSW5zdHJ1Y3Rpb24uZG9zZUFuZFJhdGUgRFIgd2hlcmUgRFIudHlwZSBpcyBudWxsIG9yIERSLnR5cGUudGV4dCA9ICdvcmRlcmVkJyksCiAgICAgIHJlcGVhdDogZG9zYWdlSW5zdHJ1Y3Rpb24udGltaW5nLnJlcGVhdCwKICAgICAgZnJlcXVlbmN5OiBDb2FsZXNjZShyZXBlYXQuZnJlcXVlbmN5TWF4LnZhbHVlLCByZXBlYXQuZnJlcXVlbmN5LnZhbHVlKSwKICAgICAgcGVyaW9kOiBPTVRLTG9naWMuUXVhbnRpdHkocmVwZWF0LnBlcmlvZC52YWx1ZSwgcmVwZWF0LnBlcmlvZFVuaXQudmFsdWUpLAogICAgICBkb3NlUmFuZ2U6IFRvRkhJUlJhbmdlKGRvc2VBbmRSYXRlLmRvc2UpLAogICAgICBkb3NlUXVhbnRpdHk6IFRvRkhJUlF1YW50aXR5KGRvc2VBbmRSYXRlLmRvc2UpLAogICAgICBkb3NlSGlnaDogVG9RdWFudGl0eShkb3NlUmFuZ2UuaGlnaCBhcyBGSElSLlNpbXBsZVF1YW50aXR5KSwKICAgICAgdGltZXNQZXJEYXk6IENvdW50KHJlcGVhdC50aW1lT2ZEYXkpLAogICAgICBkb3NlRGVzY3JpcHRpb246CiAgICAgICAgQ29hbGVzY2UoCiAgICAgICAgICBUb1N0cmluZyhUb1F1YW50aXR5KGRvc2VRdWFudGl0eSkpLAogICAgICAgICAgVG9TdHJpbmcoZG9zZVJhbmdlLmxvdy52YWx1ZS52YWx1ZSkgKyAnLScgKyBUb1N0cmluZyhkb3NlUmFuZ2UuaGlnaC52YWx1ZS52YWx1ZSkgKyAnICcgKyBkb3NlUmFuZ2UuaGlnaC51bml0LnZhbHVlCiAgICAgICAgKSwKICAgICAgZnJlcXVlbmN5RGVzY3JpcHRpb246CiAgICAgICAgVG9TdHJpbmcoZG9zYWdlSW5zdHJ1Y3Rpb24udGltaW5nLnJlcGVhdC5mcmVxdWVuY3kudmFsdWUpICsKICAgICAgICAgIENvYWxlc2NlKAogICAgICAgICAgICAnLScgKyBUb1N0cmluZyhkb3NhZ2VJbnN0cnVjdGlvbi50aW1pbmcucmVwZWF0LmZyZXF1ZW5jeU1heC52YWx1ZSksCiAgICAgICAgICAgICcnCiAgICAgICAgICApCiAgICByZXR1cm4gewogICAgICByeE5vcm1Db2RlOiByeE5vcm1Db2RlLAogICAgICBpc0RyYWZ0OiBPLnN0YXR1cy52YWx1ZSA9ICdkcmFmdCcsCiAgICAgIC8vIE5PVEU6IEFzc3VtaW5nIGFzTmVlZGVkIGlzIGV4cHJlc3NlZCBhcyBhIGJvb2xlYW4KICAgICAgaXNQUk46IGRvc2FnZUluc3RydWN0aW9uLmFzTmVlZGVkLAogICAgICBwcmVzY3JpcHRpb246CiAgICAgICAgaWYgZG9zYWdlSW5zdHJ1Y3Rpb24udGV4dCBpcyBub3QgbnVsbCB0aGVuCiAgICAgICAgICBtZWRpY2F0aW9uTmFtZSArICcgJyArIGRvc2FnZUluc3RydWN0aW9uLnRleHQudmFsdWUKICAgICAgICBlbHNlCiAgICAgICAgICAvLyBUT0RPOiBTaG91bGRuJ3QgbmVlZCB0aGUgLnZhbHVlIGhlcmUgb24gYXNOZWVkZWRCb29sZWFuCiAgICAgICAgICBtZWRpY2F0aW9uTmFtZSArICcgJyArIGRvc2VEZXNjcmlwdGlvbiArICcgcScgKyBmcmVxdWVuY3lEZXNjcmlwdGlvbiArIChpZiBkb3NhZ2VJbnN0cnVjdGlvbi5hc05lZWRlZCB0aGVuICcgUFJOJyBlbHNlICcnKSwKICAgICBkb3NlOgogICAgICAgIGlmIGRvc2VBbmRSYXRlLmRvc2UgaXMgbm90IG51bGwgdGhlbgogICAgICAgICAgICBUb1F1YW50aXR5KGRvc2VRdWFudGl0eSkKICAgICAgICBlbHNlCiAgICAgICAgICAgIGRvc2VIaWdoLAogICAgICBkb3Nlc1BlckRheTogQ29hbGVzY2UoT01US0xvZ2ljLlRvRGFpbHkoZnJlcXVlbmN5LCBwZXJpb2QpLCB0aW1lc1BlckRheSwgMS4wKQogICAgfQoKLyoKQ2FsY3VsYXRlcyBNb3JwaGluZSBNaWxsaWdyYW0gRXF1aXZhbGVudCAoTU1FKSBmb3IgZWFjaCBtZWRpY2F0aW9uIGluIHRoZSBnaXZlbgpsaXN0LiBUaGUgY2FsY3VsYXRpb24gYXNzdW1lcyB0aGUgbW9zdCBhZ2dyZXNpdmUgZG9zaW5nLCBhbmQgaXMgcGVyZm9ybWVkIGZvciBhbGwKbWVkaWNhdGlvbnMgaW4gdGhlIGdpdmVuIGxpc3QgKGkuZS4gbm8gYWRkaXRpb25hbCBmaWx0ZXJpbmcgZm9yIHN0YXR1cyBpcyBwZXJmb3JtZWQpLgoqLwpkZWZpbmUgZnVuY3Rpb24gTU1FKHByZXNjcmlwdGlvbnMgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pOgogIChQcmVzY3JpcHRpb25zKHByZXNjcmlwdGlvbnMpKSBQCiAgICBsZXQgbW1lUGVySW5ncmVkaWVudDogT01US0xvZ2ljLkNhbGN1bGF0ZU1NRXMoeyB7IHJ4Tm9ybUNvZGU6IFAucnhOb3JtQ29kZSwgZG9zZVF1YW50aXR5OiBQLmRvc2UsIGRvc2VzUGVyRGF5OiBQLmRvc2VzUGVyRGF5IH0gfSkKICAgIHJldHVybiB7CiAgICAgIHJ4Tm9ybUNvZGU6IFAucnhOb3JtQ29kZSwKICAgICAgaXNEcmFmdDogUC5pc0RyYWZ0LAogICAgICBpc1BSTjogUC5pc1BSTiwKICAgICAgcHJlc2NyaXB0aW9uOiBQLnByZXNjcmlwdGlvbiwKICAgICAgZGFpbHlEb3NlOiBDb21iaW5lKG1tZVBlckluZ3JlZGllbnQgWCByZXR1cm4gWC5kYWlseURvc2VEZXNjcmlwdGlvbiwgJ1xyXG4nKSwKICAgICAgbW1lOiBTdW0obW1lUGVySW5ncmVkaWVudCBYIHJldHVybiBYLm1tZSkKICAgIH0KCi8qCkNhbGN1bGF0ZXMgdG90YWwgTW9ycGhpbmUgTWlsbGlncmFtIEVxdWl2YWxlbnQgKE1NRSkgZm9yIHRoZSBnaXZlbiBsaXN0IG9mIG1lZGljYXRpb25zLgpUaGUgY2FsY3VsYXRpb24gYXNzdW1lcyB0aGUgbW9zdCBhZ2dyZXNzaXZlIGRvc2luZywgYW5kIGlzIHBlcmZvcm1lZCBmb3IgYWxsCm1lZGljYXRpb25zIGluIHRoZSBnaXZlbiBsaXN0IChpLmUuIG5vIGFkZGl0aW9uYWwgZmlsdGVyaW5nIGZvciBzdGF0dXMgaXMgcGVyZm9ybWVkKS4KKi8KZGVmaW5lIGZ1bmN0aW9uIFRvdGFsTU1FKHByZXNjcmlwdGlvbnMgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pOgogIE9NVEtMb2dpYy5RdWFudGl0eSgKICAgIFN1bSgoTU1FKHByZXNjcmlwdGlvbnMpKSBNIHJldHVybiBNLm1tZS52YWx1ZSksCiAgICAne01NRX0vZCcKICAp" }, { "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjQiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9Ik1NRUNhbGN1bGF0b3IiIHN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgdmVyc2lvbj0iMy4wLjAiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI5OjEtOToyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIi8+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTE6MS0xMTozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxMjoxLTEyOjMzIiBsb2NhbElkZW50aWZpZXI9Ik9NVEtMb2dpYyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PTVRLTG9naWMiIHZlcnNpb249IjMuMC4wIi8+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIGxvY2F0b3I9IjE0OjEtMTQ6NDUiIG5hbWU9IkVycm9yTGV2ZWwiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZGVmYXVsdCBsb2NhdG9yPSIxNDozNy0xNDo0NSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ildhcm5pbmciIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE0OjIyLTE0OjI3IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTY6MS0xNjoxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSIxNjoxLTE2OjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjoxLTE2OjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjM6MS0yNDo3IiBuYW1lPSJUb0ZISVJSYW5nZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjQ6My0yNDo3IiBuYW1lPSJyYW5nZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMjM6MzUtMjM6NDQiIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIzMToxLTMyOjEwIiBuYW1lPSJUb0ZISVJRdWFudGl0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzI6My0zMjoxMCIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjMxOjQxLTMxOjU5IiBuYW1lPSJmaGlyOlNpbXBsZVF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzk6MS00MDoxNyIgbmFtZT0iVG9GSElSQ29kZWFibGVDb25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI0MDozLTQwOjE3IiBuYW1lPSJjb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvZGVhYmxlQ29uY2VwdCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIzOTo1NS0zOTo3NCIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI0OToxLTYwOjMiIG5hbWU9IlRvUXVhbnRpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjUwOjMtNjA6MyIgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYXRvcj0iNTE6NS01MTozNSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjUxOjEwLTUxOjI1IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTE6MTAtNTE6MTciIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTE6MzItNTE6MzUiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjUyOjUtNTI6NDEiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSI1MjoxMC01MjozMSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUyOjEwLTUyOjIzIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI1MjoxMC01MjoxNyIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUyOjM4LTUyOjQxIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSI1Mzo1LTU3OjciPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSI1MzoxMC01Mzo4MSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTM6MTAtNTM6MzIiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1MzoxMC01MzoyNCIgcGF0aD0ic3lzdGVtIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjUzOjEwLTUzOjE3IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUzOjM3LTUzOjgxIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1MzozNy01Mzo1MSIgcGF0aD0ic3lzdGVtIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjUzOjM3LTUzOjQ0IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUzOjU1LTUzOjgxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjU0OjctNTc6NyIgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI1NToxNi01NTozNSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNTU6MTYtNTU6MjkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjU1OjE2LTU1OjIzIiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idW5pdCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI1NjoxNS01NjozMyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNTY6MTUtNTY6MjciIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNTY6MTUtNTY6MjIiIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIGFzVHlwZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTk6Ny01OToxMzkiIHhzaTp0eXBlPSJNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI1OToxNS01OToxOCIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSI1OToyMS01OToyNCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8Y29kZSBsb2NhdG9yPSI1OToyNy01OTo3MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ik1NRUNhbGN1bGF0b3IuVG9RdWFudGl0eS5JbnZhbGlkRkhJUlF1YW50aXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYXRvcj0iNTk6NzUtNTk6ODQiIG5hbWU9IkVycm9yTGV2ZWwiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgPG1lc3NhZ2UgbG9jYXRvcj0iNTk6ODctNTk6MTM4IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1OTo4Ny01OToxMTYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJJbnZhbGlkIEZISVIgUXVhbnRpdHkgY29kZTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjU5OjEyMC01OToxMzgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjU5OjEyMC01OToxMzIiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNTk6MTIwLTU5OjEyNyIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9tZXNzYWdlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSI0OTozNy00OTo1NSIgbmFtZT0iZmhpcjpTaW1wbGVRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9Ijc3OjEtMTE4OjUiIG5hbWU9IlByZXNjcmlwdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijc4OjMtMTE4OjUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNzg6My03ODoxMCIgYWxpYXM9Ik8iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3ODozLTc4OjgiIG5hbWU9Ik9yZGVycyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iODA6Ny04MDo1OSIgaWRlbnRpZmllcj0icnhOb3JtQ29kZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjgwOjE5LTgwOjU5IiBuYW1lPSJHZXRNZWRpY2F0aW9uQ29kZSIgbGlicmFyeU5hbWU9Ik9NVEtMb2dpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgwOjQ3LTgwOjU4IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iTyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9IjgxOjctODE6NjEiIGlkZW50aWZpZXI9Im1lZGljYXRpb25OYW1lIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iODE6MjMtODE6NjEiIG5hbWU9IkdldE1lZGljYXRpb25OYW1lIiBsaWJyYXJ5TmFtZT0iT01US0xvZ2ljIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MTo1MS04MTo2MCIgbmFtZT0icnhOb3JtQ29kZSIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iODM6Ny04Mzo1OSIgaWRlbnRpZmllcj0iZG9zYWdlSW5zdHJ1Y3Rpb24iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI4MzoyNi04Mzo1OSIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4Mzo0MS04Mzo1OSIgcGF0aD0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHNjb3BlPSJPIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI4Nzo3LTg3OjExOCIgaWRlbnRpZmllcj0iZG9zZUFuZFJhdGUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI4NzoyMC04NzoxMTgiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODc6MzUtODc6MTE4IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijg3OjM2LTg3OjY3IiBhbGlhcz0iRFIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI4NzozNi04Nzo2NCIgcGF0aD0iZG9zZUFuZFJhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iODc6NjktODc6MTE3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4Nzo3NS04Nzo4OSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg3Ojc1LTg3OjgxIiBwYXRoPSJ0eXBlIiBzY29wZT0iRFIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg3Ojk0LTg3OjExNyIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODc6OTQtODc6MTA1IiBwYXRoPSJ0ZXh0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijg3Ojk0LTg3OjEwMCIgcGF0aD0idHlwZSIgc2NvcGU9IkRSIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg3OjEwOS04NzoxMTciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlcmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI4ODo3LTg4OjQ1IiBpZGVudGlmaWVyPSJyZXBlYXQiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI4ODoxNS04ODo0NSIgcGF0aD0icmVwZWF0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijg4OjE1LTg4OjM4IiBwYXRoPSJ0aW1pbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iODg6MTUtODg6MzEiIG5hbWU9ImRvc2FnZUluc3RydWN0aW9uIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iODk6Ny04OTo3NiIgaWRlbnRpZmllcj0iZnJlcXVlbmN5Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iODk6MTgtODk6NzYiIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg5OjI3LTg5OjUxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI4OToyNy04OTo0NSIgcGF0aD0iZnJlcXVlbmN5TWF4IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijg5OjI3LTg5OjMyIiBuYW1lPSJyZXBlYXQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4OTo1NC04OTo3NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iODk6NTQtODk6NjkiIHBhdGg9ImZyZXF1ZW5jeSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI4OTo1NC04OTo1OSIgbmFtZT0icmVwZWF0IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI5MDo3LTkwOjc4IiBpZGVudGlmaWVyPSJwZXJpb2QiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI5MDoxNS05MDo3OCIgbmFtZT0iUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJPTVRLTG9naWMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjkwOjM0LTkwOjUyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5MDozNC05MDo0NiIgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkwOjM0LTkwOjM5IiBuYW1lPSJyZXBlYXQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5MDo1NS05MDo3NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTA6NTUtOTA6NzEiIHBhdGg9InBlcmlvZFVuaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTA6NTUtOTA6NjAiIG5hbWU9InJlcGVhdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iOTE6Ny05MTo0NiIgaWRlbnRpZmllcj0iZG9zZVJhbmdlIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTE6MTgtOTE6NDYiIG5hbWU9IlRvRkhJUlJhbmdlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjkxOjMwLTkxOjQ1IiBwYXRoPSJkb3NlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkxOjMwLTkxOjQwIiBuYW1lPSJkb3NlQW5kUmF0ZSIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9IjkyOjctOTI6NTIiIGlkZW50aWZpZXI9ImRvc2VRdWFudGl0eSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjkyOjIxLTkyOjUyIiBuYW1lPSJUb0ZISVJRdWFudGl0eSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlNpbXBsZVF1YW50aXR5IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5MjozNi05Mjo1MSIgcGF0aD0iZG9zZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5MjozNi05Mjo0NiIgbmFtZT0iZG9zZUFuZFJhdGUiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI5Mzo3LTkzOjQyIiBpZGVudGlmaWVyPSJ0aW1lc1BlckRheSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjkzOjIwLTkzOjQyIiB4c2k6dHlwZT0iQ291bnQiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkzOjI2LTkzOjQxIiBwYXRoPSJ0aW1lT2ZEYXkiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTM6MjYtOTM6MzEiIG5hbWU9InJlcGVhdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9Ijk0OjctOTg6OSIgaWRlbnRpZmllcj0iZG9zZURlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTU6OS05ODo5IiB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NjoxMS05Njo0NCIgeHNpOnR5cGU9IlRvU3RyaW5nIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTY6MjAtOTY6NDMiIG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk2OjMxLTk2OjQyIiBuYW1lPSJkb3NlUXVhbnRpdHkiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTc6MTEtOTc6MTI0IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NzoxMS05Nzo5NiIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTc6MTEtOTc6OTAiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk3OjExLTk3OjUxIiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NzoxMS05Nzo0NSIgeHNpOnR5cGU9IlRvU3RyaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTc6MjAtOTc6NDQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijk3OjIwLTk3OjM4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5NzoyMC05NzozMiIgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijk3OjIwLTk3OjI4IiBuYW1lPSJkb3NlUmFuZ2UiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5Nzo0OS05Nzo1MSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTc6NTUtOTc6OTAiIHhzaTp0eXBlPSJUb1N0cmluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk3OjY0LTk3Ojg5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5Nzo2NC05Nzo4MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTc6NjQtOTc6NzciIHBhdGg9ImhpZ2giIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTc6NjQtOTc6NzIiIG5hbWU9ImRvc2VSYW5nZSIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTc6OTQtOTc6OTYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIgIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk3OjEwMC05NzoxMjQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijk3OjEwMC05NzoxMTgiIHBhdGg9InVuaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTc6MTAwLTk3OjExMyIgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5NzoxMDAtOTc6MTA4IiBuYW1lPSJkb3NlUmFuZ2UiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9Ijk5OjctMTA0OjExIiBpZGVudGlmaWVyPSJmcmVxdWVuY3lEZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEwMDo5LTEwNDoxMSIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAwOjktMTAwOjY1IiB4c2k6dHlwZT0iVG9TdHJpbmciPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDA6MTgtMTAwOjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMDA6MTgtMTAwOjU4IiBwYXRoPSJmcmVxdWVuY3kiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTAwOjE4LTEwMDo0OCIgcGF0aD0icmVwZWF0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwMDoxOC0xMDA6NDEiIHBhdGg9InRpbWluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMDA6MTgtMTAwOjM0IiBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDE6MTEtMTA0OjExIiB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDI6MTMtMTAyOjc4IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDI6MTMtMTAyOjE1IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iLSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAyOjE5LTEwMjo3OCIgeHNpOnR5cGU9IlRvU3RyaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAyOjI4LTEwMjo3NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTAyOjI4LTEwMjo3MSIgcGF0aD0iZnJlcXVlbmN5TWF4IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwMjoyOC0xMDI6NTgiIHBhdGg9InJlcGVhdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMDI6MjgtMTAyOjUxIiBwYXRoPSJ0aW1pbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTAyOjI4LTEwMjo0NCIgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDM6MTMtMTAzOjE0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMTA1OjUtMTE4OjUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMDU6MTItMTE4OjUiIHhzaTp0eXBlPSJUdXBsZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InJ4Tm9ybUNvZGUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTA2OjE5LTEwNjoyOCIgbmFtZT0icnhOb3JtQ29kZSIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNEcmFmdCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDc6MTYtMTA3OjM5IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDc6MTYtMTA3OjI5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMDc6MTYtMTA3OjIzIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJPIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDc6MzMtMTA3OjM5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZHJhZnQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNQUk4iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTA5OjE0LTEwOTozOSIgcGF0aD0iYXNOZWVkZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTA5OjE0LTEwOTozMCIgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InByZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMTE6OS0xMTU6MTMyIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2F0b3I9IjExMToxMi0xMTE6NDUiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTE6MTItMTExOjQ1IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTExOjEyLTExMTozMyIgcGF0aD0idGV4dCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMTE6MTItMTExOjI4IiBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMTEyOjExLTExMjo2MSIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTEyOjExLTExMjozMCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTEyOjExLTExMjoyNCIgbmFtZT0ibWVkaWNhdGlvbk5hbWUiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTI6MjgtMTEyOjMwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iICIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTI6MzQtMTEyOjYxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMTI6MzQtMTEyOjU1IiBwYXRoPSJ0ZXh0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjExMjozNC0xMTI6NTAiIG5hbWU9ImRvc2FnZUluc3RydWN0aW9uIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIxMTU6MTEtMTE1OjEzMiIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE1OjExLTExNTo3OCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE1OjExLTExNTo1NSIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE1OjExLTExNTo0OCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE1OjExLTExNTozMCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE1OjExLTExNToyNCIgbmFtZT0ibWVkaWNhdGlvbk5hbWUiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTU6MjgtMTE1OjMwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iICIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTU6MzQtMTE1OjQ4IiBuYW1lPSJkb3NlRGVzY3JpcHRpb24iIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNTo1Mi0xMTU6NTUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIgcSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTU6NTktMTE1Ojc4IiBuYW1lPSJmcmVxdWVuY3lEZXNjcmlwdGlvbiIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE1OjgyLTExNToxMzIiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbmFtZT0iVG9Cb29sZWFuIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpib29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTU6ODYtMTE1OjExMSIgcGF0aD0iYXNOZWVkZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTE1Ojg2LTExNToxMDIiIG5hbWU9ImRvc2FnZUluc3RydWN0aW9uIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIxMTU6MTE4LTExNToxMjMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIgUFJOIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIxMTU6MTMwLTExNToxMzEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2UiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTE2OjEzLTExNjo2MiIgbmFtZT0iVG9RdWFudGl0eSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjI0LTExNjo2MSIgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjMzLTExNjo0NCIgbmFtZT0iZG9zZVF1YW50aXR5IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjQ3LTExNjo2MCIgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMTY6NDctMTE2OjU1IiBuYW1lPSJkb3NlUmFuZ2UiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3Nlc1BlckRheSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMTc6MjAtMTE3OjgzIiB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTc6MjktMTE3OjY0IiBuYW1lPSJUb0RhaWx5IiBsaWJyYXJ5TmFtZT0iT01US0xvZ2ljIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTc6NDctMTE3OjU1IiBuYW1lPSJmcmVxdWVuY3kiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTc6NTgtMTE3OjYzIiBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RlY2ltYWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTc6NjctMTE3Ojc3IiBuYW1lPSJ0aW1lc1BlckRheSIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE3OjgwLTExNzo4MiIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSIxLjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJPcmRlcnMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iNzc6MzgtNzc6NjAiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhdG9yPSI3Nzo0My03Nzo1OSIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjEyNToxLTEzNTo1IiBuYW1lPSJNTUUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEyNjozLTEzNTo1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEyNjozLTEyNjozNCIgYWxpYXM9IlAiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMjY6My0xMjY6MzIiIG5hbWU9IlByZXNjcmlwdGlvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEyNjoxOC0xMjY6MzAiIG5hbWU9InByZXNjcmlwdGlvbnMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iMTI3OjktMTI3OjEzMyIgaWRlbnRpZmllcj0ibW1lUGVySW5ncmVkaWVudCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEyNzoyNy0xMjc6MTMzIiBuYW1lPSJDYWxjdWxhdGVNTUVzIiBsaWJyYXJ5TmFtZT0iT01US0xvZ2ljIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjc6NTEtMTI3OjEzMiIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIxMjc6NTMtMTI3OjEzMCIgeHNpOnR5cGU9IlR1cGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icnhOb3JtQ29kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMjc6NjctMTI3Ojc4IiBwYXRoPSJyeE5vcm1Db2RlIiBzY29wZT0iUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZVF1YW50aXR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyNzo5NS0xMjc6MTAwIiBwYXRoPSJkb3NlIiBzY29wZT0iUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZXNQZXJEYXkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTI3OjExNi0xMjc6MTI4IiBwYXRoPSJkb3Nlc1BlckRheSIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjEyODo1LTEzNTo1Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTI4OjEyLTEzNTo1IiB4c2k6dHlwZT0iVHVwbGUiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJyeE5vcm1Db2RlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyOToxOS0xMjk6MzAiIHBhdGg9InJ4Tm9ybUNvZGUiIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc0RyYWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEzMDoxNi0xMzA6MjQiIHBhdGg9ImlzRHJhZnQiIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc1BSTiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMzE6MTQtMTMxOjIwIiBwYXRoPSJpc1BSTiIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InByZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMzI6MjEtMTMyOjM0IiBwYXRoPSJwcmVzY3JpcHRpb24iIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYWlseURvc2UiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTMzOjE4LTEzMzo4MiIgeHNpOnR5cGU9IkNvbWJpbmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEzMzoyNi0xMzM6NzMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTMzOjI2LTEzMzo0MyIgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMzM6MjYtMTMzOjQxIiBuYW1lPSJtbWVQZXJJbmdyZWRpZW50IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMTMzOjQ1LTEzMzo3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEzMzo1Mi0xMzM6NzMiIHBhdGg9ImRhaWx5RG9zZURlc2NyaXB0aW9uIiBzY29wZT0iWCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlcGFyYXRvciBsb2NhdG9yPSIxMzM6NzYtMTMzOjgxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iJiN4ZDsmI3hhOyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJtbWUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTM0OjEyLTEzNDo0NyIgeHNpOnR5cGU9IlN1bSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTM0OjE2LTEzNDo0NiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMzQ6MTYtMTM0OjMzIiBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEzNDoxNi0xMzQ6MzEiIG5hbWU9Im1tZVBlckluZ3JlZGllbnQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIxMzQ6MzUtMTM0OjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTM0OjQyLTEzNDo0NiIgcGF0aD0ibW1lIiBzY29wZT0iWCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InByZXNjcmlwdGlvbnMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTI1OjM1LTEyNTo1NyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2F0b3I9IjEyNTo0MC0xMjU6NTYiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIxNDI6MS0xNDY6MyIgbmFtZT0iVG90YWxNTUUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE0MzozLTE0NjozIiBuYW1lPSJRdWFudGl0eSIgbGlicmFyeU5hbWU9Ik9NVEtMb2dpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQ0OjUtMTQ0OjUwIiB4c2k6dHlwZT0iU3VtIj4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxNDQ6OS0xNDQ6NDkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTQ0OjktMTQ0OjMwIiBhbGlhcz0iTSI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE0NDo5LTE0NDoyOCIgbmFtZT0iTU1FIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDQ6MTQtMTQ0OjI2IiBuYW1lPSJwcmVzY3JpcHRpb25zIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjE0NDozMi0xNDQ6NDkiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNDQ6MzktMTQ0OjQ5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxNDQ6MzktMTQ0OjQzIiBwYXRoPSJtbWUiIHNjb3BlPSJNIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQ1OjUtMTQ1OjEzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ie01NRX0vZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJwcmVzY3JpcHRpb25zIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE0Mjo0MC0xNDI6NjIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhdG9yPSIxNDI6NDUtMTQyOjYxIiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo=" + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjQiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9Ik1NRUNhbGN1bGF0b3IiIHN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgdmVyc2lvbj0iMy4wLjAiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI5OjEtOToyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIi8+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTE6MS0xMTozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxMjoxLTEyOjMzIiBsb2NhbElkZW50aWZpZXI9Ik9NVEtMb2dpYyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PTVRLTG9naWMiIHZlcnNpb249IjMuMC4wIi8+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIGxvY2F0b3I9IjE0OjEtMTQ6NDUiIG5hbWU9IkVycm9yTGV2ZWwiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZGVmYXVsdCBsb2NhdG9yPSIxNDozNy0xNDo0NSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ildhcm5pbmciIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE0OjIyLTE0OjI3IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTY6MS0xNjoxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSIxNjoxLTE2OjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjoxLTE2OjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjM6MS0yNDo3IiBuYW1lPSJUb0ZISVJSYW5nZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjQ6My0yNDo3IiBuYW1lPSJyYW5nZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMjM6MzUtMjM6NDQiIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIzMToxLTMyOjEwIiBuYW1lPSJUb0ZISVJRdWFudGl0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzI6My0zMjoxMCIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjMxOjQxLTMxOjU5IiBuYW1lPSJmaGlyOlNpbXBsZVF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzk6MS00MDoxNyIgbmFtZT0iVG9GSElSQ29kZWFibGVDb25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI0MDozLTQwOjE3IiBuYW1lPSJjb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvZGVhYmxlQ29uY2VwdCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIzOTo1NS0zOTo3NCIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI0OToxLTYyOjMiIG5hbWU9IlRvUXVhbnRpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjUwOjMtNjI6MyIgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYXRvcj0iNTE6NS01MTozNSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjUxOjEwLTUxOjI1IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTE6MTAtNTE6MTciIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTE6MzItNTE6MzUiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjUyOjUtNTI6NDEiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSI1MjoxMC01MjozMSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUyOjEwLTUyOjIzIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI1MjoxMC01MjoxNyIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUyOjM4LTUyOjQxIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSI1Mzo1LTU3OjciPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSI1MzoxMC01Mzo4MSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTM6MTAtNTM6MzIiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1MzoxMC01MzoyNCIgcGF0aD0ic3lzdGVtIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjUzOjEwLTUzOjE3IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUzOjM3LTUzOjgxIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1MzozNy01Mzo1MSIgcGF0aD0ic3lzdGVtIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjUzOjM3LTUzOjQ0IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUzOjU1LTUzOjgxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjU0OjctNTc6NyIgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI1NToxNi01NTozNSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNTU6MTYtNTU6MjkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjU1OjE2LTU1OjIzIiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idW5pdCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI1NjoxNS01NjozMyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNTY6MTUtNTY6MjciIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNTY6MTUtNTY6MjIiIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSI1ODo0LTU5OjEwOCI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjU4OjktNTg6OTIiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjU4OjktNTg6MjkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjU4OjktNTg6MjMiIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI1ODo5LTU4OjE2IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTg6MzMtNTg6OTIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL3YzLW9yZGVyYWJsZURydWdGb3JtIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjU5OjUtNTk6MTA4IiBjbGFzc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjU5OjMwLTU5OjQ5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI1OTozMC01OTo0MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNTk6MzAtNTk6MzciIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjU5OjU4LTU5OjEwNyIgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTk6NjctNTk6ODUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjU5OjY3LTU5Ojc5IiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjU5OjY3LTU5Ojc0IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTk6ODgtNTk6MTA2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI1OTo4OC01OToxMDAiIHBhdGg9InVuaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNTk6ODgtNTk6OTUiIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2MTo3LTYxOjEzOSIgeHNpOnR5cGU9Ik1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjYxOjE1LTYxOjE4IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2F0b3I9IjYxOjIxLTYxOjI0IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxjb2RlIGxvY2F0b3I9IjYxOjI3LTYxOjcyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTU1FQ2FsY3VsYXRvci5Ub1F1YW50aXR5LkludmFsaWRGSElSUXVhbnRpdHkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxzZXZlcml0eSBsb2NhdG9yPSI2MTo3NS02MTo4NCIgbmFtZT0iRXJyb3JMZXZlbCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICAgICA8bWVzc2FnZSBsb2NhdG9yPSI2MTo4Ny02MToxMzgiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjYxOjg3LTYxOjExNiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkludmFsaWQgRkhJUiBRdWFudGl0eSBjb2RlOiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjE6MTIwLTYxOjEzOCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNjE6MTIwLTYxOjEzMiIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI2MToxMjAtNjE6MTI3IiBuYW1lPSJxdWFudGl0eSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L21lc3NhZ2U+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjQ5OjM3LTQ5OjU1IiBuYW1lPSJmaGlyOlNpbXBsZVF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzk6MS0xMjU6NSIgbmFtZT0iUHJlc2NyaXB0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iODA6My0xMjU6NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI4MDozLTgwOjEwIiBhbGlhcz0iTyI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjgwOjMtODA6OCIgbmFtZT0iT3JkZXJzIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI4Mjo3LTgyOjU5IiBpZGVudGlmaWVyPSJyeE5vcm1Db2RlIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iODI6MTktODI6NTkiIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBsaWJyYXJ5TmFtZT0iT01US0xvZ2ljIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODI6NDctODI6NTgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJPIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iODM6Ny04Mzo2MSIgaWRlbnRpZmllcj0ibWVkaWNhdGlvbk5hbWUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI4MzoyMy04Mzo2MSIgbmFtZT0iR2V0TWVkaWNhdGlvbk5hbWUiIGxpYnJhcnlOYW1lPSJPTVRLTG9naWMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgzOjUxLTgzOjYwIiBuYW1lPSJyeE5vcm1Db2RlIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI4NTo3LTg1OjU5IiBpZGVudGlmaWVyPSJkb3NhZ2VJbnN0cnVjdGlvbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijg1OjI2LTg1OjU5IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg1OjQxLTg1OjU5IiBwYXRoPSJkb3NhZ2VJbnN0cnVjdGlvbiIgc2NvcGU9Ik8iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9Ijg5OjctODk6MTE4IiBpZGVudGlmaWVyPSJkb3NlQW5kUmF0ZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijg5OjIwLTg5OjExOCIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4OTozNS04OToxMTgiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iODk6MzYtODk6NjciIGFsaWFzPSJEUiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijg5OjM2LTg5OjY0IiBwYXRoPSJkb3NlQW5kUmF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI4OTo2OS04OToxMTciIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg5Ojc1LTg5Ojg5IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODk6NzUtODk6ODEiIHBhdGg9InR5cGUiIHNjb3BlPSJEUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODk6OTQtODk6MTE3IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4OTo5NC04OToxMDUiIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iODk6OTQtODk6MTAwIiBwYXRoPSJ0eXBlIiBzY29wZT0iRFIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODk6MTA5LTg5OjExNyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9IjkwOjctOTA6NDUiIGlkZW50aWZpZXI9InJlcGVhdCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjkwOjE1LTkwOjQ1IiBwYXRoPSJyZXBlYXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTA6MTUtOTA6MzgiIHBhdGg9InRpbWluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5MDoxNS05MDozMSIgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI5MTo3LTkxOjc2IiBpZGVudGlmaWVyPSJmcmVxdWVuY3kiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI5MToxOC05MTo3NiIgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTE6MjctOTE6NTEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkxOjI3LTkxOjQ1IiBwYXRoPSJmcmVxdWVuY3lNYXgiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTE6MjctOTE6MzIiIG5hbWU9InJlcGVhdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjkxOjU0LTkxOjc1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5MTo1NC05MTo2OSIgcGF0aD0iZnJlcXVlbmN5IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkxOjU0LTkxOjU5IiBuYW1lPSJyZXBlYXQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9IjkyOjctOTI6NzgiIGlkZW50aWZpZXI9InBlcmlvZCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjkyOjE1LTkyOjc4IiBuYW1lPSJRdWFudGl0eSIgbGlicmFyeU5hbWU9Ik9NVEtMb2dpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTI6MzQtOTI6NTIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkyOjM0LTkyOjQ2IiBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTI6MzQtOTI6MzkiIG5hbWU9InJlcGVhdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjkyOjU1LTkyOjc3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5Mjo1NS05Mjo3MSIgcGF0aD0icGVyaW9kVW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5Mjo1NS05Mjo2MCIgbmFtZT0icmVwZWF0IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI5Mzo3LTkzOjQ2IiBpZGVudGlmaWVyPSJkb3NlUmFuZ2UiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI5MzoxOC05Mzo0NiIgbmFtZT0iVG9GSElSUmFuZ2UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTM6MzAtOTM6NDUiIHBhdGg9ImRvc2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTM6MzAtOTM6NDAiIG5hbWU9ImRvc2VBbmRSYXRlIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iOTQ6Ny05NDo1MiIgaWRlbnRpZmllcj0iZG9zZVF1YW50aXR5Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTQ6MjEtOTQ6NTIiIG5hbWU9IlRvRkhJUlF1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6U2ltcGxlUXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjM2LTk0OjUxIiBwYXRoPSJkb3NlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijk0OjM2LTk0OjQ2IiBuYW1lPSJkb3NlQW5kUmF0ZSIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9Ijk1OjctOTU6NjUiIGlkZW50aWZpZXI9ImRvc2VIaWdoIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTU6MTctOTU6NjUiIG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk1OjI4LTk1OjY0IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NToyOC05NTo0MSIgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5NToyOC05NTozNiIgbmFtZT0iZG9zZVJhbmdlIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9Ijk1OjQ2LTk1OjY0IiBuYW1lPSJmaGlyOlNpbXBsZVF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI5Njo3LTk2OjQyIiBpZGVudGlmaWVyPSJ0aW1lc1BlckRheSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijk2OjIwLTk2OjQyIiB4c2k6dHlwZT0iQ291bnQiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijk2OjI2LTk2OjQxIiBwYXRoPSJ0aW1lT2ZEYXkiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTY6MjYtOTY6MzEiIG5hbWU9InJlcGVhdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9Ijk3OjctMTAxOjkiIGlkZW50aWZpZXI9ImRvc2VEZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijk4OjktMTAxOjkiIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk5OjExLTk5OjQ0IiB4c2k6dHlwZT0iVG9TdHJpbmciPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5OToyMC05OTo0MyIgbmFtZT0iVG9RdWFudGl0eSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTk6MzEtOTk6NDIiIG5hbWU9ImRvc2VRdWFudGl0eSIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDA6MTEtMTAwOjEyNCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAwOjExLTEwMDo5NiIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAwOjExLTEwMDo5MCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAwOjExLTEwMDo1MSIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAwOjExLTEwMDo0NSIgeHNpOnR5cGU9IlRvU3RyaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAwOjIwLTEwMDo0NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTAwOjIwLTEwMDozOCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTAwOjIwLTEwMDozMiIgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwMDoyMC0xMDA6MjgiIG5hbWU9ImRvc2VSYW5nZSIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwMDo0OS0xMDA6NTEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSItIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwMDo1NS0xMDA6OTAiIHhzaTp0eXBlPSJUb1N0cmluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwMDo2NC0xMDA6ODkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwMDo2NC0xMDA6ODMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwMDo2NC0xMDA6NzciIHBhdGg9ImhpZ2giIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTAwOjY0LTEwMDo3MiIgbmFtZT0iZG9zZVJhbmdlIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDA6OTQtMTAwOjk2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iICIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDA6MTAwLTEwMDoxMjQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwMDoxMDAtMTAwOjExOCIgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMDA6MTAwLTEwMDoxMTMiIHBhdGg9ImhpZ2giIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTAwOjEwMC0xMDA6MTA4IiBuYW1lPSJkb3NlUmFuZ2UiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9IjEwMjo3LTEwNzoxMSIgaWRlbnRpZmllcj0iZnJlcXVlbmN5RGVzY3JpcHRpb24iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMDM6OS0xMDc6MTEiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwMzo5LTEwMzo2NSIgeHNpOnR5cGU9IlRvU3RyaW5nIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAzOjE4LTEwMzo2NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTAzOjE4LTEwMzo1OCIgcGF0aD0iZnJlcXVlbmN5IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwMzoxOC0xMDM6NDgiIHBhdGg9InJlcGVhdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMDM6MTgtMTAzOjQxIiBwYXRoPSJ0aW1pbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTAzOjE4LTEwMzozNCIgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTA0OjExLTEwNzoxMSIgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTA1OjEzLTEwNTo3OCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTA1OjEzLTEwNToxNSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwNToxOS0xMDU6NzgiIHhzaTp0eXBlPSJUb1N0cmluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwNToyOC0xMDU6NzciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwNToyOC0xMDU6NzEiIHBhdGg9ImZyZXF1ZW5jeU1heCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMDU6MjgtMTA1OjU4IiBwYXRoPSJyZXBlYXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTA1OjI4LTEwNTo1MSIgcGF0aD0idGltaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwNToyOC0xMDU6NDQiIG5hbWU9ImRvc2FnZUluc3RydWN0aW9uIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTA2OjEzLTEwNjoxNCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjEwODo1LTEyNTo1Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTA4OjEyLTEyNTo1IiB4c2k6dHlwZT0iVHVwbGUiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJyeE5vcm1Db2RlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEwOToxOS0xMDk6MjgiIG5hbWU9InJ4Tm9ybUNvZGUiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImlzRHJhZnQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTEwOjE2LTExMDozOSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTEwOjE2LTExMDoyOSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTEwOjE2LTExMDoyMyIgcGF0aD0ic3RhdHVzIiBzY29wZT0iTyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTEwOjMzLTExMDozOSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRyYWZ0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImlzUFJOIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjExMjoxNC0xMTI6MzkiIHBhdGg9ImFzTmVlZGVkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjExMjoxNC0xMTI6MzAiIG5hbWU9ImRvc2FnZUluc3RydWN0aW9uIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTE0OjktMTE4OjEzMiIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIxMTQ6MTItMTE0OjQ1IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE0OjEyLTExNDo0NSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNDoxMi0xMTQ6MzMiIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTE0OjEyLTExNDoyOCIgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjExNToxMS0xMTU6NjEiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNToxMS0xMTU6MzAiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNToxMS0xMTU6MjQiIG5hbWU9Im1lZGljYXRpb25OYW1lIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE1OjI4LTExNTozMCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE1OjM0LTExNTo2MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTE1OjM0LTExNTo1NSIgcGF0aD0idGV4dCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMTU6MzQtMTE1OjUwIiBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMTE4OjExLTExODoxMzIiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExODoxMS0xMTg6NzgiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExODoxMS0xMTg6NTUiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExODoxMS0xMTg6NDgiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExODoxMS0xMTg6MzAiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExODoxMS0xMTg6MjQiIG5hbWU9Im1lZGljYXRpb25OYW1lIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE4OjI4LTExODozMCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE4OjM0LTExODo0OCIgbmFtZT0iZG9zZURlc2NyaXB0aW9uIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTg6NTItMTE4OjU1IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIHEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE4OjU5LTExODo3OCIgbmFtZT0iZnJlcXVlbmN5RGVzY3JpcHRpb24iIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExODo4Mi0xMTg6MTMyIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE4Ojg2LTExODoxMTEiIHBhdGg9ImFzTmVlZGVkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjExODo4Ni0xMTg6MTAyIiBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMTE4OjExOC0xMTg6MTIzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIFBSTiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMTE4OjEzMC0xMTg6MTMxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyMDo5LTEyMzoyMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIxMjA6MTItMTIwOjM5IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIwOjEyLTEyMDozOSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEyMDoxMi0xMjA6MjciIHBhdGg9ImRvc2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTIwOjEyLTEyMDoyMiIgbmFtZT0iZG9zZUFuZFJhdGUiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjEyMToxMy0xMjE6MzYiIG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEyMToyNC0xMjE6MzUiIG5hbWU9ImRvc2VRdWFudGl0eSIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMTIzOjEzLTEyMzoyMCIgbmFtZT0iZG9zZUhpZ2giIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2VzUGVyRGF5Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyNDoyMC0xMjQ6ODMiIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEyNDoyOS0xMjQ6NjQiIG5hbWU9IlRvRGFpbHkiIGxpYnJhcnlOYW1lPSJPTVRLTG9naWMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEyNDo0Ny0xMjQ6NTUiIG5hbWU9ImZyZXF1ZW5jeSIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEyNDo1OC0xMjQ6NjMiIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGVjaW1hbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEyNDo2Ny0xMjQ6NzciIG5hbWU9InRpbWVzUGVyRGF5IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjQ6ODAtMTI0OjgyIiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjEuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik9yZGVycyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSI3OTozOC03OTo2MCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2F0b3I9Ijc5OjQzLTc5OjU5IiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTMyOjEtMTQyOjUiIG5hbWU9Ik1NRSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTMzOjMtMTQyOjUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTMzOjMtMTMzOjM0IiBhbGlhcz0iUCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEzMzozLTEzMzozMiIgbmFtZT0iUHJlc2NyaXB0aW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTMzOjE4LTEzMzozMCIgbmFtZT0icHJlc2NyaXB0aW9ucyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSIxMzQ6OS0xMzQ6MTMzIiBpZGVudGlmaWVyPSJtbWVQZXJJbmdyZWRpZW50Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTM0OjI3LTEzNDoxMzMiIG5hbWU9IkNhbGN1bGF0ZU1NRXMiIGxpYnJhcnlOYW1lPSJPTVRLTG9naWMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzNDo1MS0xMzQ6MTMyIiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjEzNDo1My0xMzQ6MTMwIiB4c2k6dHlwZT0iVHVwbGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJyeE5vcm1Db2RlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEzNDo2Ny0xMzQ6NzgiIHBhdGg9InJ4Tm9ybUNvZGUiIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlUXVhbnRpdHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTM0Ojk1LTEzNDoxMDAiIHBhdGg9ImRvc2UiIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3Nlc1BlckRheSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMzQ6MTE2LTEzNDoxMjgiIHBhdGg9ImRvc2VzUGVyRGF5IiBzY29wZT0iUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMTM1OjUtMTQyOjUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMzU6MTItMTQyOjUiIHhzaTp0eXBlPSJUdXBsZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InJ4Tm9ybUNvZGUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTM2OjE5LTEzNjozMCIgcGF0aD0icnhOb3JtQ29kZSIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImlzRHJhZnQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTM3OjE2LTEzNzoyNCIgcGF0aD0iaXNEcmFmdCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImlzUFJOIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEzODoxNC0xMzg6MjAiIHBhdGg9ImlzUFJOIiBzY29wZT0iUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEzOToyMS0xMzk6MzQiIHBhdGg9InByZXNjcmlwdGlvbiIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRhaWx5RG9zZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNDA6MTgtMTQwOjgyIiB4c2k6dHlwZT0iQ29tYmluZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTQwOjI2LTE0MDo3MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxNDA6MjYtMTQwOjQzIiBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE0MDoyNi0xNDA6NDEiIG5hbWU9Im1tZVBlckluZ3JlZGllbnQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIxNDA6NDUtMTQwOjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQwOjUyLTE0MDo3MyIgcGF0aD0iZGFpbHlEb3NlRGVzY3JpcHRpb24iIHNjb3BlPSJYIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9IjE0MDo3Ni0xNDA6ODEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSImI3hkOyYjeGE7IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Im1tZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNDE6MTItMTQxOjQ3IiB4c2k6dHlwZT0iU3VtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxNDE6MTYtMTQxOjQ2IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE0MToxNi0xNDE6MzMiIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQxOjE2LTE0MTozMSIgbmFtZT0ibW1lUGVySW5ncmVkaWVudCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjE0MTozNS0xNDE6NDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNDE6NDItMTQxOjQ2IiBwYXRoPSJtbWUiIHNjb3BlPSJYIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icHJlc2NyaXB0aW9ucyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMzI6MzUtMTMyOjU3IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYXRvcj0iMTMyOjQwLTEzMjo1NiIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjE0OToxLTE1MzozIiBuYW1lPSJUb3RhbE1NRSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTUwOjMtMTUzOjMiIG5hbWU9IlF1YW50aXR5IiBsaWJyYXJ5TmFtZT0iT01US0xvZ2ljIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTE6NS0xNTE6NTAiIHhzaTp0eXBlPSJTdW0iPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE1MTo5LTE1MTo0OSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxNTE6OS0xNTE6MzAiIGFsaWFzPSJNIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTUxOjktMTUxOjI4IiBuYW1lPSJNTUUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE1MToxNC0xNTE6MjYiIG5hbWU9InByZXNjcmlwdGlvbnMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMTUxOjMyLTE1MTo0OSI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE1MTozOS0xNTE6NDkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE1MTozOS0xNTE6NDMiIHBhdGg9Im1tZSIgc2NvcGU9Ik0iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTI6NS0xNTI6MTMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJ7TU1FfS9kIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InByZXNjcmlwdGlvbnMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTQ5OjQwLTE0OTo2MiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2F0b3I9IjE0OTo0NS0xNDk6NjEiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" }, { "contentType": "application/elm+json", - "data": "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvclZlcnNpb24iIDogIjEuNCIsCiAgICAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iCiAgICAgIH0gXSwKICAgICAgImlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogIk1NRUNhbGN1bGF0b3IiLAogICAgICAgICAic3lzdGVtIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiwKICAgICAgICAgInZlcnNpb24iIDogIjMuMC4wIgogICAgICB9LAogICAgICAic2NoZW1hSWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAidXJuOmhsNy1vcmc6ZWxtIiwKICAgICAgICAgInZlcnNpb24iIDogInIxIgogICAgICB9LAogICAgICAidXNpbmdzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiU3lzdGVtIiwKICAgICAgICAgICAgInVyaSIgOiAidXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOToyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImluY2x1ZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOjEtMTE6MzUiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL0ZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjoxLTEyOjMzIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiT01US0xvZ2ljIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT01US0xvZ2ljIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjMuMC4wIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgInBhcmFtZXRlcnMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ6MS0xNDo0NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJFcnJvckxldmVsIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZGVmYXVsdCIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDozNy0xNDo0NSIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICJXYXJuaW5nIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OjIyLTE0OjI3IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgfQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImNvbnRleHRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjEtMTY6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJzdGF0ZW1lbnRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjEtMTY6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjEtMTY6MTUiLAogICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBhdGllbnQiLAogICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzoxLTI0OjciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9GSElSUmFuZ2UiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ6My0yNDo3IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogInJhbmdlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAicmFuZ2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM6MzUtMjM6NDQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmFuZ2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMToxLTMyOjEwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvRkhJUlF1YW50aXR5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyOjMtMzI6MTAiLAogICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTo0MS0zMTo1OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TaW1wbGVRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5OjEtNDA6MTciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9GSElSQ29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwOjMtNDA6MTciLAogICAgICAgICAgICAgICAibmFtZSIgOiAiY29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5OjU1LTM5Ojc0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjEtNjA6MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjMtNjA6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6NS01MTozNSIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUxOjEwLTUxOjI1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUxOjEwLTUxOjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6MzItNTE6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjUtNTI6NDEiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MjoxMC01MjozMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MjoxMC01MjoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTI6MTAtNTI6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjM4LTUyOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mzo1LTU3OjciLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzoxMC01Mzo4MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MTAtNTM6MzIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MTAtNTM6MjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzoxMC01MzoxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MzctNTM6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MzctNTM6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzozNy01Mzo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mzo1NS01Mzo4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6Ny01Nzo3IiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTU6MTYtNTU6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjE2LTU1OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NToxNi01NToyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1bml0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjE1LTU2OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NjoxNS01NjoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NjoxNS01NjoyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU5OjctNTk6MTM5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk1lc3NhZ2UiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU5OjE1LTU5OjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6MjEtNTk6MjQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6MjctNTk6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiTU1FQ2FsY3VsYXRvci5Ub1F1YW50aXR5LkludmFsaWRGSElSUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInNldmVyaXR5IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU5Ojc1LTU5Ojg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkVycm9yTGV2ZWwiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUGFyYW1ldGVyUmVmIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAibWVzc2FnZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OTo4Ny01OToxMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OTo4Ny01OToxMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiSW52YWxpZCBGSElSIFF1YW50aXR5IGNvZGU6ICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxMjAtNTk6MTM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxMjAtNTk6MTMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU5OjEyMC01OToxMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDk6MzctNDk6NTUiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2ltcGxlUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxLTExODo1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlByZXNjcmlwdGlvbnMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzg6My0xMTg6NSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODozLTc4OjEwIiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJPIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzg6My03ODo4IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk9yZGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjctODA6NTkiLAogICAgICAgICAgICAgICAgICAiaWRlbnRpZmllciIgOiAicnhOb3JtQ29kZSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjE5LTgwOjU5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldE1lZGljYXRpb25Db2RlIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJPTVRLTG9naWMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6NDctODA6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6Ny04MTo2MSIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJtZWRpY2F0aW9uTmFtZSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjIzLTgxOjYxIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldE1lZGljYXRpb25OYW1lIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJPTVRLTG9naWMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjUxLTgxOjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJ4Tm9ybUNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgzOjctODM6NTkiLAogICAgICAgICAgICAgICAgICAiaWRlbnRpZmllciIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MzoyNi04Mzo1OSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6NDEtODM6NTkiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo3LTg3OjExOCIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJkb3NlQW5kUmF0ZSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjIwLTg3OjExOCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6MzUtODc6MTE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjM2LTg3OjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJEUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjM2LTg3OjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRvc2VBbmRSYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo2OS04NzoxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3Ojc1LTg3Ojg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3Ojc1LTg3OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInR5cGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkRSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3Ojk0LTg3OjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo5NC04NzoxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidGV4dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6OTQtODc6MTAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInR5cGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkRSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NzoxMDktODc6MTE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm9yZGVyZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4ODo3LTg4OjQ1IiwKICAgICAgICAgICAgICAgICAgImlkZW50aWZpZXIiIDogInJlcGVhdCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjE1LTg4OjQ1IiwKICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlcGVhdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODg6MTUtODg6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidGltaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4ODoxNS04ODozMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6Ny04OTo3NiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJmcmVxdWVuY3kiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxOC04OTo3NiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MjctODk6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjI3LTg5OjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImZyZXF1ZW5jeU1heCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MjctODk6MzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVwZWF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6NTQtODk6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjU0LTg5OjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImZyZXF1ZW5jeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6NTQtODk6NTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVwZWF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6Ny05MDo3OCIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJwZXJpb2QiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDoxNS05MDo3OCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiT01US0xvZ2ljIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDozNC05MDo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6MzQtOTA6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDozNC05MDozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZXBlYXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo1NS05MDo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6NTUtOTA6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicGVyaW9kVW5pdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6NTUtOTA6NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVwZWF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6Ny05MTo0NiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJkb3NlUmFuZ2UiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MToxOC05MTo0NiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0ZISVJSYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjMwLTkxOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRvc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjMwLTkxOjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VBbmRSYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6Ny05Mjo1MiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJkb3NlUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjoyMS05Mjo1MiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0ZISVJRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TaW1wbGVRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjM2LTkyOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRvc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjM2LTkyOjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VBbmRSYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6Ny05Mzo0MiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJ0aW1lc1BlckRheSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjIwLTkzOjQyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvdW50IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MzoyNi05Mzo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ0aW1lT2ZEYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjI2LTkzOjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlcGVhdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6Ny05ODo5IiwKICAgICAgICAgICAgICAgICAgImlkZW50aWZpZXIiIDogImRvc2VEZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk1OjktOTg6OSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTY6MTEtOTY6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoyMC05Njo0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjozMS05Njo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NlUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjExLTk3OjEyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6MTEtOTc6OTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjExLTk3OjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NzoxMS05Nzo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6MTEtOTc6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NzoyMC05Nzo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6MjAtOTc6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjIwLTk3OjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImxvdyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6MjAtOTc6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zZVJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjQ5LTk3OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIi0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjU1LTk3OjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6NjQtOTc6ODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjY0LTk3OjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Nzo2NC05Nzo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Nzo2NC05Nzo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NlUmFuZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3Ojk0LTk3Ojk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjEwMC05NzoxMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjEwMC05NzoxMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidW5pdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6MTAwLTk3OjExMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NzoxMDAtOTc6MTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VSYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjctMTA0OjExIiwKICAgICAgICAgICAgICAgICAgImlkZW50aWZpZXIiIDogImZyZXF1ZW5jeURlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjktMTA0OjExIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6OS0xMDA6NjUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MTgtMTAwOjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MTgtMTAwOjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImZyZXF1ZW5jeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjE4LTEwMDo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZXBlYXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDoxOC0xMDA6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidGltaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MTgtMTAwOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAxOjExLTEwNDoxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjEzLTEwMjo3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjEzLTEwMjoxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICItIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMjoxOS0xMDI6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDI6MjgtMTAyOjc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDI6MjgtMTAyOjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImZyZXF1ZW5jeU1heCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjI4LTEwMjo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZXBlYXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMjoyOC0xMDI6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidGltaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDI6MjgtMTAyOjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMzoxMy0xMDM6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNTo1LTExODo1IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA1OjEyLTExODo1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlR1cGxlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyeE5vcm1Db2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjoxOS0xMDY6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicnhOb3JtQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpc0RyYWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzoxNi0xMDc6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzoxNi0xMDc6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzoxNi0xMDc6MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJPIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzozMy0xMDc6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiZHJhZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaXNQUk4iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA5OjE0LTEwOTozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhc05lZWRlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA5OjE0LTEwOTozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTE6OS0xMTU6MTMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTE6MTItMTExOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMToxMi0xMTE6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTExOjEyLTExMTozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ0ZXh0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTE6MTItMTExOjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTI6MTEtMTEyOjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTI6MTEtMTEyOjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTI6MTEtMTEyOjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1lZGljYXRpb25OYW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTI6MjgtMTEyOjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMjozNC0xMTI6NjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMjozNC0xMTI6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidGV4dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTEyOjM0LTExMjo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6MTEtMTE1OjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjExLTExNTo3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjExLTExNTo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjExLTExNTo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjExLTExNTozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjExLTExNToyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtZWRpY2F0aW9uTmFtZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjI4LTExNTozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIgIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6MzQtMTE1OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VEZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo1Mi0xMTU6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIHEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo1OS0xMTU6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZnJlcXVlbmN5RGVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6ODItMTE1OjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1ib29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1Ojg2LTExNToxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXNOZWVkZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo4Ni0xMTU6MTAyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNToxMTgtMTE1OjEyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIgUFJOIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNToxMzAtMTE1OjEzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjEzLTExNjo2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MjQtMTE2OjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MzMtMTE2OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjQ3LTExNjo2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NDctMTE2OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VSYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zZXNQZXJEYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjIwLTExNzo4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjI5LTExNzo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhaWx5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJPTVRLTG9naWMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzo0Ny0xMTc6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZnJlcXVlbmN5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTc6NTgtMTE3OjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvRGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzo2Ny0xMTc6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidGltZXNQZXJEYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjgwLTExNzo4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMS4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJPcmRlcnMiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzc6MzgtNzc6NjAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzc6NDMtNzc6NTkiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNToxLTEzNTo1IiwKICAgICAgICAgICAgIm5hbWUiIDogIk1NRSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjY6My0xMzU6NSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjY6My0xMjY6MzQiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlAiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjY6My0xMjY6MzIiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUHJlc2NyaXB0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI2OjE4LTEyNjozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNzo5LTEyNzoxMzMiLAogICAgICAgICAgICAgICAgICAiaWRlbnRpZmllciIgOiAibW1lUGVySW5ncmVkaWVudCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNzoyNy0xMjc6MTMzIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNhbGN1bGF0ZU1NRXMiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIk9NVEtMb2dpYyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI3OjUxLTEyNzoxMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI3OjUzLTEyNzoxMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVHVwbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJ4Tm9ybUNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI3OjY3LTEyNzo3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyeE5vcm1Db2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJQIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjc6OTUtMTI3OjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkb3NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJQIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VzUGVyRGF5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNzoxMTYtMTI3OjEyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkb3Nlc1BlckRheSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjUtMTM1OjUiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjg6MTItMTM1OjUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVHVwbGUiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJ4Tm9ybUNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI5OjE5LTEyOTozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyeE5vcm1Db2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJQIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlzRHJhZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMwOjE2LTEzMDoyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpc0RyYWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJQIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlzUFJOIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMToxNC0xMzE6MjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaXNQUk4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMjoyMS0xMzI6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJQIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRhaWx5RG9zZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzM6MTgtMTMzOjgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbWJpbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzoyNi0xMzM6NzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMzOjI2LTEzMzo0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzoyNi0xMzM6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAibW1lUGVySW5ncmVkaWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzo0NS0xMzM6NzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzM6NTItMTMzOjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRhaWx5RG9zZURlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcGFyYXRvciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzM6NzYtMTMzOjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIlxyXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1tZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzQ6MTItMTM0OjQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1bSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM0OjE2LTEzNDo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzQ6MTYtMTM0OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM0OjE2LTEzNDozMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtbWVQZXJJbmdyZWRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM0OjM1LTEzNDo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNDo0Mi0xMzQ6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNTozNS0xMjU6NTciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI1OjQwLTEyNTo1NiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTQyOjEtMTQ2OjMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG90YWxNTUUiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjMtMTQ2OjMiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiUXVhbnRpdHkiLAogICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIk9NVEtMb2dpYyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ0OjUtMTQ0OjUwIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1bSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ0OjktMTQ0OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NDo5LTE0NDozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiTSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NDo5LTE0NDoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNTUUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NDoxNC0xNDQ6MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicHJlc2NyaXB0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NDozMi0xNDQ6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDQ6MzktMTQ0OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDQ6MzktMTQ0OjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1tZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDU6NS0xNDU6MTMiLAogICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAie01NRX0vZCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo0MC0xNDI6NjIiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQyOjQ1LTE0Mjo2MSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0KICAgfQp9" + "data": "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvclZlcnNpb24iIDogIjEuNCIsCiAgICAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iCiAgICAgIH0gXSwKICAgICAgImlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogIk1NRUNhbGN1bGF0b3IiLAogICAgICAgICAic3lzdGVtIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiwKICAgICAgICAgInZlcnNpb24iIDogIjMuMC4wIgogICAgICB9LAogICAgICAic2NoZW1hSWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAidXJuOmhsNy1vcmc6ZWxtIiwKICAgICAgICAgInZlcnNpb24iIDogInIxIgogICAgICB9LAogICAgICAidXNpbmdzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiU3lzdGVtIiwKICAgICAgICAgICAgInVyaSIgOiAidXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOToyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImluY2x1ZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOjEtMTE6MzUiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL0ZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjoxLTEyOjMzIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiT01US0xvZ2ljIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT01US0xvZ2ljIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjMuMC4wIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgInBhcmFtZXRlcnMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ6MS0xNDo0NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJFcnJvckxldmVsIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZGVmYXVsdCIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDozNy0xNDo0NSIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgInZhbHVlIiA6ICJXYXJuaW5nIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OjIyLTE0OjI3IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgfQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImNvbnRleHRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjEtMTY6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJzdGF0ZW1lbnRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjEtMTY6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjEtMTY6MTUiLAogICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBhdGllbnQiLAogICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzoxLTI0OjciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9GSElSUmFuZ2UiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ6My0yNDo3IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogInJhbmdlIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAicmFuZ2UiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM6MzUtMjM6NDQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmFuZ2UiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMToxLTMyOjEwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvRkhJUlF1YW50aXR5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyOjMtMzI6MTAiLAogICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTo0MS0zMTo1OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TaW1wbGVRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5OjEtNDA6MTciLAogICAgICAgICAgICAibmFtZSIgOiAiVG9GSElSQ29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQwOjMtNDA6MTciLAogICAgICAgICAgICAgICAibmFtZSIgOiAiY29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM5OjU1LTM5Ojc0IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjEtNjI6MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjMtNjI6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6NS01MTozNSIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUxOjEwLTUxOjI1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUxOjEwLTUxOjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6MzItNTE6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjUtNTI6NDEiLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MjoxMC01MjozMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MjoxMC01MjoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTI6MTAtNTI6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjM4LTUyOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mzo1LTU3OjciLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzoxMC01Mzo4MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MTAtNTM6MzIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MTAtNTM6MjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzoxMC01MzoxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MzctNTM6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MzctNTM6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzozNy01Mzo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mzo1NS01Mzo4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6Ny01Nzo3IiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTU6MTYtNTU6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjE2LTU1OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NToxNi01NToyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1bml0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU2OjE1LTU2OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NjoxNS01NjoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NjoxNS01NjoyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1ODo0LTU5OjEwOCIsCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU4OjktNTg6OTIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU4OjktNTg6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU4OjktNTg6MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1ODo5LTU4OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1ODozMy01ODo5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL3YzLW9yZGVyYWJsZURydWdGb3JtIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OTo1LTU5OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU5OjMwLTU5OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OTozMC01OTo0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6MzAtNTk6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidW5pdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OTo1OC01OToxMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU5OjY3LTU5Ojg1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OTo2Ny01OTo3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OTo2Ny01OTo3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6ODgtNTk6MTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OTo4OC01OToxMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidW5pdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6ODgtNTk6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjE6Ny02MToxMzkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTWVzc2FnZSIsCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjE6MTUtNjE6MTgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MToyMS02MToyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MToyNy02MTo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJNTUVDYWxjdWxhdG9yLlRvUXVhbnRpdHkuSW52YWxpZEZISVJRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAic2V2ZXJpdHkiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjE6NzUtNjE6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRXJyb3JMZXZlbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJtZXNzYWdlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYxOjg3LTYxOjEzOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYxOjg3LTYxOjExNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJJbnZhbGlkIEZISVIgUXVhbnRpdHkgY29kZTogIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYxOjEyMC02MToxMzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjYxOjEyMC02MToxMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjE6MTIwLTYxOjEyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJxdWFudGl0eSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0OTozNy00OTo1NSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TaW1wbGVRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjEtMTI1OjUiLAogICAgICAgICAgICAibmFtZSIgOiAiUHJlc2NyaXB0aW9ucyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDozLTEyNTo1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjMtODA6MTAiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk8iLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDozLTgwOjgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3JkZXJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAibGV0IiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODI6Ny04Mjo1OSIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJyeE5vcm1Db2RlIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODI6MTktODI6NTkiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2V0TWVkaWNhdGlvbkNvZGUiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIk9NVEtMb2dpYyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Mjo0Ny04Mjo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJPIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Mzo3LTgzOjYxIiwKICAgICAgICAgICAgICAgICAgImlkZW50aWZpZXIiIDogIm1lZGljYXRpb25OYW1lIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6MjMtODM6NjEiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2V0TWVkaWNhdGlvbk5hbWUiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIk9NVEtMb2dpYyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6NTEtODM6NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicnhOb3JtQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODU6Ny04NTo1OSIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg1OjI2LTg1OjU5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NTo0MS04NTo1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjctODk6MTE4IiwKICAgICAgICAgICAgICAgICAgImlkZW50aWZpZXIiIDogImRvc2VBbmRSYXRlIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MjAtODk6MTE4IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTozNS04OToxMTgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MzYtODk6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkRSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MzYtODk6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zZUFuZFJhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjY5LTg5OjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6NzUtODk6ODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6NzUtODk6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidHlwZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRFIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6OTQtODk6MTE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5Ojk0LTg5OjEwNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ0ZXh0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTo5NC04OToxMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidHlwZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRFIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjEwOS04OToxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAib3JkZXJlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjctOTA6NDUiLAogICAgICAgICAgICAgICAgICAiaWRlbnRpZmllciIgOiAicmVwZWF0IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6MTUtOTA6NDUiLAogICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVwZWF0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDoxNS05MDozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ0aW1pbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjE1LTkwOjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MTo3LTkxOjc2IiwKICAgICAgICAgICAgICAgICAgImlkZW50aWZpZXIiIDogImZyZXF1ZW5jeSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjE4LTkxOjc2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MToyNy05MTo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6MjctOTE6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZnJlcXVlbmN5TWF4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MToyNy05MTozMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZXBlYXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MTo1NC05MTo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6NTQtOTE6NjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZnJlcXVlbmN5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MTo1NC05MTo1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZXBlYXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo3LTkyOjc4IiwKICAgICAgICAgICAgICAgICAgImlkZW50aWZpZXIiIDogInBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjE1LTkyOjc4IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJPTVRLTG9naWMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjM0LTkyOjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozNC05Mjo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJwZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjM0LTkyOjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlcGVhdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjU1LTkyOjc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo1NS05Mjo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJwZXJpb2RVbml0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mjo1NS05Mjo2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZXBlYXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo3LTkzOjQ2IiwKICAgICAgICAgICAgICAgICAgImlkZW50aWZpZXIiIDogImRvc2VSYW5nZSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjE4LTkzOjQ2IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRkhJUlJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MzAtOTM6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MzAtOTM6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zZUFuZFJhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDo3LTk0OjUyIiwKICAgICAgICAgICAgICAgICAgImlkZW50aWZpZXIiIDogImRvc2VRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjIxLTk0OjUyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRkhJUlF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNpbXBsZVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MzYtOTQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MzYtOTQ6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zZUFuZFJhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NTo3LTk1OjY1IiwKICAgICAgICAgICAgICAgICAgImlkZW50aWZpZXIiIDogImRvc2VIaWdoIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6MTctOTU6NjUiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6MjgtOTU6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NToyOC05NTo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NToyOC05NTozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NlUmFuZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NTo0Ni05NTo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TaW1wbGVRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTY6Ny05Njo0MiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJ0aW1lc1BlckRheSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk2OjIwLTk2OjQyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvdW50IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoyNi05Njo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ0aW1lT2ZEYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk2OjI2LTk2OjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlcGVhdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6Ny0xMDE6OSIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJkb3NlRGVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODo5LTEwMTo5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OToxMS05OTo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjIwLTk5OjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjMxLTk5OjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjExLTEwMDoxMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDoxMS0xMDA6OTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDoxMS0xMDA6OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDoxMS0xMDA6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDoxMS0xMDA6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MjAtMTAwOjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MjAtMTAwOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MjAtMTAwOjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImxvdyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjIwLTEwMDoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NlUmFuZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjQ5LTEwMDo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICItIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6NTUtMTAwOjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjY0LTEwMDo4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjY0LTEwMDo4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjY0LTEwMDo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJoaWdoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6NjQtMTAwOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VSYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjk0LTEwMDo5NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIgIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MTAwLTEwMDoxMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDoxMDAtMTAwOjExOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ1bml0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MTAwLTEwMDoxMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaGlnaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjEwMC0xMDA6MTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VSYW5nZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMjo3LTEwNzoxMSIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJmcmVxdWVuY3lEZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMzo5LTEwNzoxMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAzOjktMTAzOjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAzOjE4LTEwMzo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAzOjE4LTEwMzo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJmcmVxdWVuY3kiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMzoxOC0xMDM6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVwZWF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDM6MTgtMTAzOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInRpbWluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAzOjE4LTEwMzozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNDoxMS0xMDc6MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNToxMy0xMDU6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNToxMy0xMDU6MTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDU6MTktMTA1Ojc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA1OjI4LTEwNTo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA1OjI4LTEwNTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJmcmVxdWVuY3lNYXgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNToyOC0xMDU6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVwZWF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDU6MjgtMTA1OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInRpbWluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA1OjI4LTEwNTo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6MTMtMTA2OjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDg6NS0xMjU6NSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwODoxMi0xMjU6NSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUdXBsZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicnhOb3JtQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDk6MTktMTA5OjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJ4Tm9ybUNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaXNEcmFmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MTYtMTEwOjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MTYtMTEwOjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MTYtMTEwOjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MzMtMTEwOjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImRyYWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlzUFJOIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMjoxNC0xMTI6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXNOZWVkZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMjoxNC0xMTI6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE0OjktMTE4OjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE0OjEyLTExNDo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTQ6MTItMTE0OjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDoxMi0xMTQ6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidGV4dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE0OjEyLTExNDoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjExLTExNTo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjExLTExNTozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjExLTExNToyNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtZWRpY2F0aW9uTmFtZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjI4LTExNTozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIgIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6MzQtMTE1OjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTU6MzQtMTE1OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInRleHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTozNC0xMTU6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjExLTExODoxMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMS0xMTg6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMS0xMTg6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMS0xMTg6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMS0xMTg6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMS0xMTg6MjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAibWVkaWNhdGlvbk5hbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoyOC0xMTg6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjM0LTExODo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NlRGVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6NTItMTE4OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiBxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6NTktMTE4Ojc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImZyZXF1ZW5jeURlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjgyLTExODoxMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQm9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Ym9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODo4Ni0xMTg6MTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImFzTmVlZGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6ODYtMTE4OjEwMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MTE4LTExODoxMjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIFBSTiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MTMwLTExODoxMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo5LTEyMzoyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjEyLTEyMDozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjA6MTItMTIwOjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDoxMi0xMjA6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjEyLTEyMDoyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NlQW5kUmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIxOjEzLTEyMTozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6MjQtMTIxOjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2VRdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMzoxMy0xMjM6MjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zZUhpZ2giLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3Nlc1BlckRheSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjQ6MjAtMTI0OjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjQ6MjktMTI0OjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGFpbHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIk9NVEtMb2dpYyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI0OjQ3LTEyNDo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJmcmVxdWVuY3kiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNDo1OC0xMjQ6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI0OjY3LTEyNDo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ0aW1lc1BlckRheSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjQ6ODAtMTI0OjgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogIk9yZGVycyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OTozOC03OTo2MCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OTo0My03OTo1OSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTMyOjEtMTQyOjUiLAogICAgICAgICAgICAibmFtZSIgOiAiTU1FIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzozLTE0Mjo1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzozLTEzMzozNCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzozLTEzMzozMiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzM6MTgtMTMzOjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAibGV0IiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM0OjktMTM0OjEzMyIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJtbWVQZXJJbmdyZWRpZW50IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM0OjI3LTEzNDoxMzMiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ2FsY3VsYXRlTU1FcyIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiT01US0xvZ2ljIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzQ6NTEtMTM0OjEzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzQ6NTMtMTM0OjEzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUdXBsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicnhOb3JtQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzQ6NjctMTM0Ojc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJ4Tm9ybUNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zZVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNDo5NS0xMzQ6MTAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRvc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zZXNQZXJEYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM0OjExNi0xMzQ6MTI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRvc2VzUGVyRGF5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJQIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzU6NS0xNDI6NSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNToxMi0xNDI6NSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUdXBsZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicnhOb3JtQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzY6MTktMTM2OjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJ4Tm9ybUNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaXNEcmFmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MTYtMTM3OjI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImlzRHJhZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaXNQUk4iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM4OjE0LTEzODoyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpc1BSTiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM5OjIxLTEzOTozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZGFpbHlEb3NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MDoxOC0xNDA6ODIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29tYmluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjI2LTE0MDo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDA6MjYtMTQwOjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjI2LTE0MDo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtbWVQZXJJbmdyZWRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjQ1LTE0MDo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MDo1Mi0xNDA6NzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGFpbHlEb3NlRGVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MDo3Ni0xNDA6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiXHJcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAibW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MToxMi0xNDE6NDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDE6MTYtMTQxOjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MToxNi0xNDE6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDE6MTYtMTQxOjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1tZVBlckluZ3JlZGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDE6MzUtMTQxOjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQxOjQyLTE0MTo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbnMiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMyOjM1LTEzMjo1NyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzI6NDAtMTMyOjU2IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDk6MS0xNTM6MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb3RhbE1NRSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6My0xNTM6MyIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJRdWFudGl0eSIsCiAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiT01US0xvZ2ljIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTE6NS0xNTE6NTAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VtIiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTE6OS0xNTE6NDkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUxOjktMTUxOjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJNIiwKICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUxOjktMTUxOjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1NRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUxOjE0LTE1MToyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUxOjMyLTE1MTo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MTozOS0xNTE6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MTozOS0xNTE6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Mjo1LTE1MjoxMyIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ7TU1FfS9kIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbnMiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ5OjQwLTE0OTo2MiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDk6NDUtMTQ5OjYxIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfQogICB9Cn0=" } ] } \ No newline at end of file diff --git a/input/resources/library/OpioidCDSCommon.json b/input/resources/library/OpioidCDSCommon.json index 29ff2a5c..540ffb32 100644 --- a/input/resources/library/OpioidCDSCommon.json +++ b/input/resources/library/OpioidCDSCommon.json @@ -460,12 +460,12 @@ } ], "content": [ { "contentType": "text/cql", - "data": "bGlicmFyeSBPcGlvaWRDRFNDb21tb24gdmVyc2lvbiAnMC4xLjEnCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgT01US0xvZ2ljTUsyMDIwIHZlcnNpb24gJzAuMS4xJyBjYWxsZWQgT01US0xvZ2ljCmluY2x1ZGUgT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIHZlcnNpb24gJzAuMS4xJyBjYWxsZWQgQ29uZmlnCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJTTk9NRUQiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdCcKCi8vIEV4cHJlc3Npb24tYmFzZWQKdmFsdWVzZXQgIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLWFuYWxnZXNpY3Mtd2l0aC1hbWJ1bGF0b3J5LW1pc3VzZS1wb3RlbnRpYWwnCnZhbHVlc2V0ICJFeHRlbmRlZCByZWxlYXNlIG9waW9pZCB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2V4dGVuZGVkLXJlbGVhc2Utb3Bpb2lkLXdpdGgtYW1idWxhdG9yeS1taXN1c2UtcG90ZW50aWFsJwp2YWx1ZXNldCAiQnVwcmVub3JwaGluZSBhbmQgbWV0aGFkb25lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvYnVwcmVub3JwaGluZS1hbmQtbWV0aGFkb25lLW1lZGljYXRpb25zJwp2YWx1ZXNldCAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ub24tc3ludGhldGljLW9waW9pZC1tZWRpY2F0aW9ucycKCi8vIEVudW1lcmF0ZWQtY29tcG9zZQp2YWx1ZXNldCAiTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2xpbWl0ZWQtbGlmZS1leHBlY3RhbmN5LWNvbmRpdGlvbnMnCnZhbHVlc2V0ICJUaGVyYXBpZXMgaW5kaWNhdGluZyBlbmQgb2YgbGlmZSBjYXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvdGhlcmFwaWVzLWluZGljYXRpbmctZW5kLW9mLWxpZmUtY2FyZScKdmFsdWVzZXQgIkNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmciOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb25zLWxpa2VseS10ZXJtaW5hbC1mb3Itb3Bpb2lkLXByZXNjcmliaW5nJwp2YWx1ZXNldCAiQ0RDIG1hbGlnbmFudCBjYW5jZXIgY29uZGl0aW9ucyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NkYy1tYWxpZ25hbnQtY2FuY2VyLWNvbmRpdGlvbnMnCnZhbHVlc2V0ICJPbmNvbG9neSBzcGVjaWFsdHkgZGVzaWduYXRpb25zIChOVUNDKSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29uY29sb2d5LXNwZWNpYWx0eS1kZXNpZ25hdGlvbnMnCnZhbHVlc2V0ICJPcGlvaWQgbWlzdXNlIGRpc29yZGVycyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1taXN1c2UtZGlzb3JkZXJzJwp2YWx1ZXNldCAiU3Vic3RhbmNlIG1pc3VzZSBiZWhhdmlvcmFsIGNvdW5zZWxpbmciOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9zdWJzdGFuY2UtbWlzdXNlLWJlaGF2aW9yYWwtY291bnNlbGluZycKdmFsdWVzZXQgIkNvbmRpdGlvbnMgZG9jdW1lbnRpbmcgc3Vic3RhbmNlIG1pc3VzZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtZG9jdW1lbnRpbmctc3Vic3RhbmNlLW1pc3VzZScKLy8gSGFydmVzdGVkIGZyb20gVlNBQyAtIE9JRDogMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMQovLyBSZXZpZXdlZCB3aXRoIFRlcm1pbm9sb2d5LCAyMDIwLTAyLTA1IC0gVmFsdWUgc2V0IG5hbWUgaW4gVlNBQyBpcyAiT2ZmaWNlIFZpc2l0IiwgbmVlZCB0byB2ZXJpZnkgc3VpdGFiaWxpdHkKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29mZmljZS12aXNpdCcKdmFsdWVzZXQgIk9waW9pZCBjb3Vuc2VsaW5nIHByb2NlZHVyZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1jb3Vuc2VsaW5nLXByb2NlZHVyZScKLyogRXhpc3Rpbmcgc2V0cyBmb3IgZmlyc3Qgc2l4IHJlY3MgKi8KdmFsdWVzZXQgIkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvYmVuem9kaWF6ZXBpbmUtbWVkaWNhdGlvbnMnCnZhbHVlc2V0ICJOb24tb3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbm9uLW9waW9pZC1kcnVnLXVyaW5lLXNjcmVlbmluZycKdmFsdWVzZXQgIk5hbG94b25lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbmFsb3hvbmUtbWVkaWNhdGlvbnMnCnZhbHVlc2V0ICJPcGlvaWQgbWlzdXNlIGFzc2Vzc21lbnQgcHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLW1pc3VzZS1hc3Nlc3NtZW50LXByb2NlZHVyZScKdmFsdWVzZXQgIk9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1kcnVnLXVyaW5lLXNjcmVlbmluZycKdmFsdWVzZXQgIkhvc3BpY2UgRGlzcG9zaXRpb24iOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLWRpc3Bvc2l0aW9uJyAvLyBIYXJ2ZXN0ZWQgZnJvbSBWU0FDIC0gT0lEOiAyLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEwOC4xNQp2YWx1ZXNldCAiSG9zcGljZSBGaW5kaW5nIENvZGVzIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvaG9zcGljZS1maW5kaW5nJwp2YWx1ZXNldCAiSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLXByb2NlZHVyZScKdmFsdWVzZXQgIk9ic2VydmF0aW9uIENhdGVnb3J5IExhYm9yYXRvcnkiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vYnNlcnZhdGlvbi1jYXRlZ29yeS1sYWJvcmF0b3J5Jwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gQ2F0ZWdvcnkgUHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2JzZXJ2YXRpb24tY2F0ZWdvcnktcHJvY2VkdXJlJwp2YWx1ZXNldCAiUGFpbiB0cmVhdG1lbnQgcGxhbiI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BhaW4tdHJlYXRtZW50LXBsYW4nCnZhbHVlc2V0ICJQYWluIG1hbmFnZW1lbnQgcHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGFpbi1tYW5hZ2VtZW50LXByb2NlZHVyZScKdmFsdWVzZXQgIlBETVAgcmV2aWV3IHByb2NlZHVyZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BkbXAtcmV2aWV3LXByb2NlZHVyZScKdmFsdWVzZXQgIlBETVAgZGF0YSByZXZpZXdlZCBmaW5kaW5nIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGRtcC1kYXRhLXJldmlld2VkLWZpbmRpbmcnCnZhbHVlc2V0ICJDb2NhaW5lIFVyaW5lIFRlc3RzIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29jYWluZS11cmluZS1kcnVnLXNjcmVlbmluZy10ZXN0cycKdmFsdWVzZXQgIlBDUCBVcmluZSBUZXN0cyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BoZW5jeWNsaWRpbmUtdXJpbmUtZHJ1Zy1zY3JlZW5pbmctdGVzdHMnCgp2YWx1ZXNldCAiQ29tbXVuaXR5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnktY29tbXVuaXR5Jwp2YWx1ZXNldCAiQWN0aXZlIENvbmRpdGlvbiI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbi1jbGluaWNhbC1zdGF0dXMtYWN0aXZlJwp2YWx1ZXNldCAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3Qtc3RhdHVzLWFjdGl2ZScKLyogdmFsdWVzZXQgIlVTIENvcmUgQ29uZGl0aW9uIENhdGVnb3JpZXMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tY2F0ZWdvcmllcycgKi8KdmFsdWVzZXQgIkVuY291bnRlciBEaWFnbm9zaXMgQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLWVuY291bnRlci1kaWFnbm9zaXMtY2F0ZWdvcnknCnZhbHVlc2V0ICJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXByb2JsZW0tbGlzdC1jYXRlZ29yeScKdmFsdWVzZXQgIlVTIENvcmUgSGVhbHRoIENvbmNlcm4gQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXVzLWNvcmUtaGVhbHRoLWNvbmNlcm4tY2F0ZWdvcnknCgovLyBUT0RPOiBjb2RlICJOb25waGFybWFjb2xvZ2ljIHRoZXJhcHkgYW5kIG5vbm9waW9pZCBwaGFybW9jb2xvZ2ljIjogJ1RPRE8nIGZyb20gIlRPRE8iCgpjb250ZXh0IFBhdGllbnQKCi8vIFRPRE86IENhcHR1cmUgcHJvY2VzcyBkZWNpc2lvbnMgZm9yIGxvbmctdGVybSBvcGlvaWQgdXNlCgpkZWZpbmUgIk9waW9pZCBPdGhlciBUaGFuIFN5bnRoZXRpYyBPcmRlcmVkIEluIExhc3QgMTIgTW9udGhzIjoKICBbTWVkaWNhdGlvblJlcXVlc3Q6IHN0YXR1cyBpbiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0Il0gTVIKICAgICAgd2hlcmUgZGF0ZSBmcm9tIE1SLmF1dGhvcmVkT24gMSB5ZWFyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFRvZGF5KCkKICAgICAgYW5kIE1SLm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIG9yIChNUi5tZWRpY2F0aW9uIGluICJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIKICAgICAgYW5kIG5vdCAoTVIubWVkaWNhdGlvbiBpbiAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiKSkKCmRlZmluZSAiQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IjoKICAoCiAgICAoIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIihbTWVkaWNhdGlvblJlcXVlc3Q6IHN0YXR1cyBpbiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0Il0pKSBNUgogICAgICB3aGVyZSBkYXRlIGZyb20gTVIuYXV0aG9yZWRPbiAyIHllYXJzIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFRvZGF5KCkKICAgICAgICBhbmQgTVIubWVkaWNhdGlvbiBpcyBSZWZlcmVuY2Ugb3IgTVIubWVkaWNhdGlvbiBpbiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiCiAgICAgICAgYW5kIE1SLmNhdGVnb3J5IGluICJDb21tdW5pdHkiCiAgKSBSeAogICAgbGV0IE1lZDogW01lZGljYXRpb246IGlkIGluIChMYXN0KFNwbGl0KChSeC5tZWRpY2F0aW9uIGFzIEZISVIuUmVmZXJlbmNlKS5yZWZlcmVuY2UsICcvJykpKV0KICAgIHdoZXJlIG5vdChSeC5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSkgb3IgTWVkLmNvZGUgaW4gIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIgogICAgICByZXR1cm4KICAgICAgICBNZWRpY2F0aW9uUmVxdWVzdCB7CiAgICAgICAgICBpZDogUnguaWQsCiAgICAgICAgICBzdGF0dXM6IFJ4LnN0YXR1cywKICAgICAgICAgIGludGVudDogUnguaW50ZW50LAogICAgICAgICAgY2F0ZWdvcnk6IFJ4LmNhdGVnb3J5LAogICAgICAgICAgbWVkaWNhdGlvbjogaWYgUngubWVkaWNhdGlvbiBpcyBSZWZlcmVuY2UgdGhlbiBGaXJzdChNZWQuY29kZSkgZWxzZSBSeC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCwKICAgICAgICAgIHN1YmplY3Q6IFJ4LnN1YmplY3QsCiAgICAgICAgICByZWNvcmRlcjogUngucmVjb3JkZXIsCiAgICAgICAgICBkb3NhZ2VJbnN0cnVjdGlvbjogUnguZG9zYWdlSW5zdHJ1Y3Rpb24sCiAgICAgICAgICBkaXNwZW5zZVJlcXVlc3Q6IFJ4LmRpc3BlbnNlUmVxdWVzdAogICAgICAgIH0KCmRlZmluZSAiQWN0aXZlIEFtYnVsYXRvcnkgQmVuem9kaWF6ZXBpbmUgUngiOgogICgKICAgICgiR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE1lZGljYXRpb24gUmVxdWVzdHMiKFtNZWRpY2F0aW9uUmVxdWVzdDogc3RhdHVzIGluICJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiXSkpIE1SCiAgICAgIHdoZXJlIGRhdGUgZnJvbSBNUi5hdXRob3JlZE9uIDIgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgVG9kYXkoKQogICAgICAgIGFuZCBNUi5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSBvciBNUi5tZWRpY2F0aW9uIGluICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIKICAgICAgICBhbmQgTVIuY2F0ZWdvcnkgaW4gIkNvbW11bml0eSIKICApIFJ4CiAgICBsZXQgTWVkOiBbTWVkaWNhdGlvbjogaWQgaW4gKExhc3QoU3BsaXQoKFJ4Lm1lZGljYXRpb24gYXMgRkhJUi5SZWZlcmVuY2UpLnJlZmVyZW5jZSwgJy8nKSkpXQogICAgd2hlcmUgbm90KFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlKSBvciBNZWQuY29kZSBpbiAiQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiCiAgICAgIHJldHVybgogICAgICAgIE1lZGljYXRpb25SZXF1ZXN0IHsKICAgICAgICAgIGlkOiBSeC5pZCwKICAgICAgICAgIHN0YXR1czogUnguc3RhdHVzLAogICAgICAgICAgaW50ZW50OiBSeC5pbnRlbnQsCiAgICAgICAgICBjYXRlZ29yeTogUnguY2F0ZWdvcnksCiAgICAgICAgICBtZWRpY2F0aW9uOiBpZiBSeC5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSB0aGVuIEZpcnN0KE1lZC5jb2RlKSBlbHNlIFJ4Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0LAogICAgICAgICAgc3ViamVjdDogUnguc3ViamVjdCwKICAgICAgICAgIHJlY29yZGVyOiBSeC5yZWNvcmRlciwKICAgICAgICAgIGRvc2FnZUluc3RydWN0aW9uOiBSeC5kb3NhZ2VJbnN0cnVjdGlvbiwKICAgICAgICAgIGRpc3BlbnNlUmVxdWVzdDogUnguZGlzcGVuc2VSZXF1ZXN0CiAgICAgICAgfQoKZGVmaW5lICJBY3RpdmUgQW1idWxhdG9yeSBOYWxveG9uZSBSeCI6CiAgKAogICAgKCJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIoW01lZGljYXRpb25SZXF1ZXN0OiBzdGF0dXMgaW4gIkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCJdKSkgTVIKICAgICAgd2hlcmUgZGF0ZSBmcm9tIE1SLmF1dGhvcmVkT24gMiB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBUb2RheSgpCiAgICAgICAgYW5kIE1SLm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIG9yIE1SLm1lZGljYXRpb24gaW4gIk5hbG94b25lIG1lZGljYXRpb25zIgogICAgICAgIGFuZCBNUi5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgogICkgUngKICAgIGxldCBNZWQ6IFtNZWRpY2F0aW9uOiBpZCBpbiAoTGFzdChTcGxpdCgoUngubWVkaWNhdGlvbiBhcyBGSElSLlJlZmVyZW5jZSkucmVmZXJlbmNlLCAnLycpKSldCiAgICB3aGVyZSBub3QoUngubWVkaWNhdGlvbiBpcyBSZWZlcmVuY2UpIG9yIE1lZC5jb2RlIGluICJOYWxveG9uZSBtZWRpY2F0aW9ucyIKICAgICAgcmV0dXJuCiAgICAgICAgTWVkaWNhdGlvblJlcXVlc3QgewogICAgICAgICAgaWQ6IFJ4LmlkLAogICAgICAgICAgc3RhdHVzOiBSeC5zdGF0dXMsCiAgICAgICAgICBpbnRlbnQ6IFJ4LmludGVudCwKICAgICAgICAgIGNhdGVnb3J5OiBSeC5jYXRlZ29yeSwKICAgICAgICAgIG1lZGljYXRpb246IGlmIFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIHRoZW4gRmlyc3QoTWVkLmNvZGUpIGVsc2UgUngubWVkaWNhdGlvbiBhcyBDb2RlYWJsZUNvbmNlcHQsCiAgICAgICAgICBzdWJqZWN0OiBSeC5zdWJqZWN0LAogICAgICAgICAgcmVjb3JkZXI6IFJ4LnJlY29yZGVyLAogICAgICAgICAgZG9zYWdlSW5zdHJ1Y3Rpb246IFJ4LmRvc2FnZUluc3RydWN0aW9uLAogICAgICAgICAgZGlzcGVuc2VSZXF1ZXN0OiBSeC5kaXNwZW5zZVJlcXVlc3QKICAgICAgICB9CgpkZWZpbmUgZnVuY3Rpb24gIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiAodmFsdWUgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pIHJldHVybnMgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD46CiAgdmFsdWUgUngKICAgIHdoZXJlIFJ4LnN0YXR1cy52YWx1ZSA9ICdhY3RpdmUnCiAgICAgIGFuZCBSeC5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgoKZGVmaW5lIGZ1bmN0aW9uICJJcyBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsPyIodmFsdWUgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pOgogIHZhbHVlIFJ4CiAgICBsZXQgTWVkOiBbTWVkaWNhdGlvbjogaWQgaW4gKExhc3QoU3BsaXQoKFJ4Lm1lZGljYXRpb24gYXMgRkhJUi5SZWZlcmVuY2UpLnJlZmVyZW5jZSwgJy8nKSkpXQogICAgd2hlcmUgbm90KFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlKSBvciBNZWQuY29kZSBpbiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiCiAgICAgIGFuZCBSeC5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgogICAgcmV0dXJuCiAgICAgIE1lZGljYXRpb25SZXF1ZXN0IHsKICAgICAgICBpZDogUnguaWQsCiAgICAgICAgc3RhdHVzOiBSeC5zdGF0dXMsCiAgICAgICAgaW50ZW50OiBSeC5pbnRlbnQsCiAgICAgICAgY2F0ZWdvcnk6IFJ4LmNhdGVnb3J5LAogICAgICAgIG1lZGljYXRpb246IGlmIFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIHRoZW4gRmlyc3QoTWVkLmNvZGUpIGVsc2UgUngubWVkaWNhdGlvbiBhcyBDb2RlYWJsZUNvbmNlcHQsCiAgICAgICAgc3ViamVjdDogUnguc3ViamVjdCwKICAgICAgICBhdXRob3JlZE9uOiBSeC5hdXRob3JlZE9uLAogICAgICAgIHJlY29yZGVyOiBSeC5yZWNvcmRlciwKICAgICAgICBkb3NhZ2VJbnN0cnVjdGlvbjogUnguZG9zYWdlSW5zdHJ1Y3Rpb24sCiAgICAgICAgZGlzcGVuc2VSZXF1ZXN0OiBSeC5kaXNwZW5zZVJlcXVlc3QKICAgICAgfQoKICAgIGRlZmluZSBmdW5jdGlvbiAiSXMgQmVuem9kaWF6ZXBpbmU/Iih2YWx1ZSBMaXN0PE1lZGljYXRpb25SZXF1ZXN0Pik6CiAgICAgIHZhbHVlIFJ4CiAgICAgICAgbGV0IE1lZDogW01lZGljYXRpb246IGlkIGluIChMYXN0KFNwbGl0KChSeC5tZWRpY2F0aW9uIGFzIEZISVIuUmVmZXJlbmNlKS5yZWZlcmVuY2UsICcvJykpKV0KICAgICAgICB3aGVyZSBub3QoUngubWVkaWNhdGlvbiBpcyBSZWZlcmVuY2UpIG9yIE1lZC5jb2RlIGluICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIKICAgICAgICAgIGFuZCBSeC5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgogICAgICAgIHJldHVybgogICAgICAgICAgICAgIE1lZGljYXRpb25SZXF1ZXN0IHsKICAgICAgICAgICAgICAgIGlkOiBSeC5pZCwKICAgICAgICAgICAgICAgIHN0YXR1czogUnguc3RhdHVzLAogICAgICAgICAgICAgICAgaW50ZW50OiBSeC5pbnRlbnQsCiAgICAgICAgICAgICAgICBjYXRlZ29yeTogUnguY2F0ZWdvcnksCiAgICAgICAgICAgICAgICBtZWRpY2F0aW9uOiBpZiBSeC5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSB0aGVuIEZpcnN0KE1lZC5jb2RlKSBlbHNlIFJ4Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0LAogICAgICAgICAgICAgICAgc3ViamVjdDogUnguc3ViamVjdCwKICAgICAgICAgICAgICAgIGF1dGhvcmVkT246IFJ4LmF1dGhvcmVkT24sCiAgICAgICAgICAgICAgICByZWNvcmRlcjogUngucmVjb3JkZXIsCiAgICAgICAgICAgICAgICBkb3NhZ2VJbnN0cnVjdGlvbjogUnguZG9zYWdlSW5zdHJ1Y3Rpb24sCiAgICAgICAgICAgICAgICBkaXNwZW5zZVJlcXVlc3Q6IFJ4LmRpc3BlbnNlUmVxdWVzdAogICAgICAgICAgICAgIH0KCmRlZmluZSAiRW5kIG9mIExpZmUgQXNzZXNzbWVudCI6CiAgICAvLyAxLiBDb25kaXRpb25zIGluZGljYXRpbmcgZW5kIG9mIGxpZmUgb3Igd2l0aCBsaW1pdGVkIGxpZmUgZXhwZWN0YW5jeQogICAgZXhpc3RzICgKICAgICAgIkNvbmRpdGlvbnMgSW5kaWNhdGluZyBFbmQgb2YgTGlmZSBvciBXaXRoIExpbWl0ZWQgTGlmZSBFeHBlY3RhbmN5IgogICAgKQogICAgLy8gMi4gQWRtaXR0ZWQvcmVmZXJyZWQvZGlzY2hhcmdlZCB0byBob3NwaWNlIGNhcmUKICAgIG9yIGV4aXN0cyAoCiAgICAgICJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSIKICAgICkKICAgIC8vIDMuIE1lZGljYXRpb25zIGluZGljYXRpbmcgZW5kIG9mIGxpZmUKICAgIC8qIG9yIGV4aXN0cyAoCiAgICAgICJNZWRpY2F0aW9ucyBJbmRpY2F0aW5nIEVuZCBvZiBMaWZlIgogICAgKSAqLwoKZGVmaW5lICJVUyBDb3JlLUNhdGVnb3JpemVkIENvbmRpdGlvbnMiOgogIFtDb25kaXRpb246IGNhdGVnb3J5IGluICJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSJdCiAgICB1bmlvbiBbQ29uZGl0aW9uOiBjYXRlZ29yeSBpbiAiUHJvYmxlbSBMaXN0IENvbmRpdGlvbiBDYXRlZ29yeSJdCiAgICB1bmlvbiBbQ29uZGl0aW9uOiBjYXRlZ29yeSBpbiAiVVMgQ29yZSBIZWFsdGggQ29uY2VybiBDb25kaXRpb24gQ2F0ZWdvcnkiXQoKZGVmaW5lICJDb25kaXRpb25zIEluZGljYXRpbmcgRW5kIG9mIExpZmUgb3IgV2l0aCBMaW1pdGVkIExpZmUgRXhwZWN0YW5jeSI6CiAgKAogICAgIlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIgQwogICAgICB3aGVyZSBDLmNvZGUgaW4gIkNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmciCiAgICAgICAgYW5kIEMuY2xpbmljYWxTdGF0dXMgaW4gIkFjdGl2ZSBDb25kaXRpb24iCiAgKQogIHVuaW9uCiAgKAogICAgIlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIgQwogICAgICB3aGVyZSBDLmNvZGUgaW4gIkxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5IGNvbmRpdGlvbnMiCiAgICAgICAgYW5kIEMuY2xpbmljYWxTdGF0dXMgaW4gIkFjdGl2ZSBDb25kaXRpb24iCiAgKQoKZGVmaW5lICJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSI6CiAgKAogICAgW1Byb2NlZHVyZTogY29kZSBpbiAiSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiXSBQCiAgICAgIHdoZXJlIFAuc3RhdHVzLnZhbHVlIGluIHsgJ2luLXByb2dyZXNzJywgJ2NvbXBsZXRlZCcgfQogICkKICB1bmlvbgogICgKICAgICJTZXJ2aWNlIFJlcXVlc3RzIiBTUgogICAgICB3aGVyZSBTUi5jb2RlIGluICJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIKICAgICAgICBhbmQgU1Iuc3RhdHVzLnZhbHVlIGluIHsgJ2FjdGl2ZScsICdjb21wbGV0ZWQnIH0KICApCiAgdW5pb24KICAoCiAgICBpZiAoQ29uZmlnLiJIb3NwaWNlIEZpbmRpbmdzIEV4Y2x1c2lvbiBFbmFibGVkIikgdGhlbgogICAgICBbT2JzZXJ2YXRpb246IGNvZGUgaW4gIkhvc3BpY2UgRmluZGluZyBDb2RlcyJdIE8KICAgICAgICB3aGVyZSBub3QgKE8uc3RhdHVzLnZhbHVlIGluIHsgJ3Vua25vd24nLCAnZW50ZXJlZC1pbi1lcnJvcicsICdjYW5jZWxsZWQnIH0pCiAgICBlbHNlCiAgICAgIHt9CiAgKQogIHVuaW9uCiAgKAogICAgW0VuY291bnRlcl0gRQogICAgICB3aGVyZSBkYXRlIGZyb20gRS5wZXJpb2Quc3RhcnQgMSB5ZWFyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFRvZGF5KCkKICAgICAgICBhbmQgKAogICAgICAgICAgaWYgRS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24uY29kaW5nIGlzIG51bGwKICAgICAgICAgICAgICBvciBub3QgZXhpc3RzIChFLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbi5jb2RpbmcpCiAgICAgICAgICAgIHRoZW4gZmFsc2UKICAgICAgICAgIGVsc2UgRS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkhvc3BpY2UgRGlzcG9zaXRpb24iCiAgICAgICAgKQogICAgICAgIGFuZCBFLnN0YXR1cy52YWx1ZSBpbiB7ICdwbGFubmVkJywgJ2Fycml2ZWQnLCAnaW4tcHJvZ3Jlc3MnLCAnZmluaXNoZWQnLCAnb25sZWF2ZScgfQogICkKCi8qCgpkZWZpbmUgIk1lZGljYXRpb25zIEluZGljYXRpbmcgRW5kIG9mIExpZmUiOgogICgKICAgIFtNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb246ICJFbmQgT2YgTGlmZSBPcGlvaWRzIl0gTUEKICAgICAgd2hlcmUgTUEuc3RhdHVzLnZhbHVlIGluIHsgJ2luLXByb2dyZXNzJywgJ29uLWhvbGQnLCAnY29tcGxldGVkJyB9CiAgKQogIHVuaW9uCiAgKAogICAgW01lZGljYXRpb25EaXNwZW5zZTogIkVuZCBPZiBMaWZlIE9waW9pZHMiXSBNRAogICAgICB3aGVyZSBNRC5zdGF0dXMudmFsdWUgaW4geyAncHJlcGFyYXRpb24nLCAnaW4tcHJvZ3Jlc3MnLCAnb24taG9sZCcsICdjb21wbGV0ZWQnIH0KICApCiAgdW5pb24KICAoCiAgICBbTWVkaWNhdGlvblJlcXVlc3Q6ICJFbmQgT2YgTGlmZSBPcGlvaWRzIl0gTVIKICAgICAgd2hlcmUgTVIuc3RhdHVzLnZhbHVlIGluIHsgJ2FjdGl2ZScsICdjb21wbGV0ZWQnIH0KICApCiAgdW5pb24KICAoCiAgICBbTWVkaWNhdGlvblN0YXRlbWVudDogIkVuZCBPZiBMaWZlIE9waW9pZHMiXSBNUwogICAgICB3aGVyZSBNUy5zdGF0dXMudmFsdWUgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcsICdpbnRlbmRlZCcgfQogICkKCiovCgpkZWZpbmUgIlByZXZpb3VzIDEwIERheXMgSW50ZXJ2YWwiOgpJbnRlcnZhbFtUb2RheSgpIC0gMTAgZGF5cywgVG9kYXkoKV0KCmRlZmluZSAiRmlyc3QgTW9udGgiOgpJbnRlcnZhbFtUb2RheSgpIC0gMyBtb250aHMsIFRvZGF5KCkgLSAyIG1vbnRoc10KCmRlZmluZSAiU2Vjb25kIE1vbnRoIjoKSW50ZXJ2YWxbVG9kYXkoKSAtIDIgbW9udGhzLCBUb2RheSgpIC0gMSBtb250aHNdCgpkZWZpbmUgIlRoaXJkIE1vbnRoIjoKSW50ZXJ2YWxbVG9kYXkoKSAtIDEgbW9udGhzLCBUb2RheSgpXQoKZGVmaW5lICJQcmVzY3JpYmVkIE9waW9pZHMgZm9yIDIxIG9yIG1vcmUgb2YgMzAgRGF5cyBmb3IgZWFjaCBvZiB0aGUgcGFzdCAzIE1vbnRocyI6CiAgIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIigiRmlyc3QgTW9udGgiKSA+PSAyMQogICAgYW5kICJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIoIlNlY29uZCBNb250aCIpID49IDIxCiAgICBhbmQgIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIigiVGhpcmQgTW9udGgiKSA+PSAyMQoKZGVmaW5lIGZ1bmN0aW9uICJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIihwcmVzY3JpcHRpb24gRkhJUi5NZWRpY2F0aW9uUmVxdWVzdCk6CiAgaWYgKAogICAgcHJlc2NyaXB0aW9uLmF1dGhvcmVkT24gaXMgbm90IG51bGwgYW5kIHByZXNjcmlwdGlvbi5kaXNwZW5zZVJlcXVlc3QgaXMgbm90IG51bGwKICAgICAgYW5kIHByZXNjcmlwdGlvbi5kaXNwZW5zZVJlcXVlc3QuZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiBpcyBub3QgbnVsbAogICkKICB0aGVuIEludGVydmFsWwogICAgZGF0ZSBmcm9tIHByZXNjcmlwdGlvbi5hdXRob3JlZE9uLAogICAgZGF0ZSBmcm9tIHByZXNjcmlwdGlvbi5hdXRob3JlZE9uICsgU3lzdGVtLlF1YW50aXR5eyB2YWx1ZTogR2V0RHVyYXRpb25JbkRheXMocHJlc2NyaXB0aW9uLmRpc3BlbnNlUmVxdWVzdC5leHBlY3RlZFN1cHBseUR1cmF0aW9uKSwgdW5pdDogJ2RheXMnIH0KICBdCiAgZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIihwZXJpb2QgSW50ZXJ2YWw8RGF0ZT4pOgogIFN1bSgKICAgICgKICAgICAgY29sbGFwc2UgKAogICAgICAgIFtNZWRpY2F0aW9uUmVxdWVzdDogIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIl0gT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgcmV0dXJuICJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIiggT3Bpb2lkUHJlc2NyaXB0aW9uICkgaW50ZXJzZWN0IHBlcmlvZAogICAgICApCiAgICApIE9waW9pZFVzZUludGVydmFsCiAgICAgIHJldHVybiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgT3Bpb2lkVXNlSW50ZXJ2YWwgYW5kIGVuZCBvZiBPcGlvaWRVc2VJbnRlcnZhbAogICkKCgoKZGVmaW5lIGZ1bmN0aW9uIEdldER1cmF0aW9uSW5EYXlzKHZhbHVlIEZISVIuRHVyYXRpb24pOgogIGlmIHZhbHVlIGlzIG51bGwgdGhlbiBudWxsCiAgZWxzZQogICAgY2FzZQogICAgICB3aGVuIHZhbHVlLmNvZGUudmFsdWUgfiAnYScgdGhlbiB2YWx1ZS52YWx1ZS52YWx1ZSAqIDM2NS4wCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSB+ICdtbycgdGhlbiB2YWx1ZS52YWx1ZS52YWx1ZSAqIDMwLjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ3drJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlICogNy4wCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSB+ICdkJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSB+ICdoJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlIC8gMjQuMAogICAgICB3aGVuIHZhbHVlLmNvZGUudmFsdWUgfiAnbWluJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlIC8gNjAuMCAvIDI0LjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ3MnIHRoZW4gdmFsdWUudmFsdWUudmFsdWUgLyA2MC4wIC8gNjAuMCAvIDI0LjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ21zJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlIC8gNjAuMCAvIDYwLjAgLyAyNC4wIC8gMTAwMC4wCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSBpcyBudWxsIHRoZW4gTWVzc2FnZSgxMDAwLCB0cnVlLCAnVW5kZWZpbmVkJywgJ0Vycm9yJywgJ0R1cmF0aW9uIHVuaXQgY29kZSBpcyBudWxsJykKICAgICAgZWxzZSBNZXNzYWdlKDEwMDAsIHRydWUsICdVbmRlZmluZWQnLCAnRXJyb3InLCAnVW5zdXBwb3J0ZWQgZHVyYXRpb24gdW5pdCBjb2RlOiAnICsgdmFsdWUuY29kZS52YWx1ZSkKICAgIGVuZAoKLyoKKiAgQ29udmVyc2lvbiBGdW5jdGlvbnMKKi8KZGVmaW5lIGZ1bmN0aW9uIENvZGVhYmxlQ29uY2VwdHNUb1N0cmluZyhjb25jZXB0cyBMaXN0PEZISVIuQ29kZWFibGVDb25jZXB0Pik6CiAgY29uY2VwdHMgYyByZXR1cm4gQ29kZWFibGVDb25jZXB0VG9TdHJpbmcoYykKCgpkZWZpbmUgZnVuY3Rpb24gQ29kaW5nVG9TdHJpbmcoY29kaW5nIEZISVIuQ29kaW5nKToKICBpZiAoY29kaW5nIGlzIG51bGwpCiAgdGhlbiBudWxsCiAgZWxzZQogICAgJ0NvZGUgeycgJgogICAgICAnY29kZTogJyAmIGNvZGluZy5jb2RlICYKICAgICAgJ3N5c3RlbTogJyAmIGNvZGluZy5zeXN0ZW0gJgogICAgICAndmVyc2lvbjogJyAmIGNvZGluZy52ZXJzaW9uICYKICAgICAgJ2Rpc3BsYXk6ICcgJiBjb2RpbmcuZGlzcGxheSAmCiAgICAnfScKCmRlZmluZSBmdW5jdGlvbiBDb2RlYWJsZUNvbmNlcHRUb1N0cmluZyhjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICBpZiAoY29uY2VwdCBpcyBudWxsIG9yIGNvbmNlcHQuY29kaW5nIGlzIG51bGwpCiAgdGhlbiBudWxsCiAgZWxzZQogICAgJ0NvZGVhYmxlQ29uY2VwdCB7JyAmCiAgICAgICdDb2Rpbmc6IFsnICYKICAgICAgICBDb21iaW5lKGNvbmNlcHQuY29kaW5nIENvZGluZyByZXR1cm4gQ29kaW5nVG9TdHJpbmcoQ29kaW5nKSwgJywnKQogICAgICAmICddJwogICAgJiAnfScKCmRlZmluZSBmdW5jdGlvbiBUb0NvZGVzKGNvZGluZyBMaXN0PEZISVIuQ29kaW5nPik6CiAgY29kaW5nIGMgcmV0dXJuIEZISVJIZWxwZXJzLlRvQ29kZShjKQoKZGVmaW5lIGZ1bmN0aW9uIFRvUnhOb3JtQ29kZShjb2RpbmcgTGlzdDxGSElSLkNvZGluZz4pOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIGNvZGluZyBDIHdoZXJlIEMuc3lzdGVtID0gJ2h0dHA6Ly93d3cubmxtLm5paC5nb3YvcmVzZWFyY2gvdW1scy9yeG5vcm0nCiAgKQoKIGRlZmluZSAiU2VydmljZSBSZXF1ZXN0cyI6CiAgIFtTZXJ2aWNlUmVxdWVzdF0gU1IKICAgIHJldHVybiBTUgo=" + "data": "bGlicmFyeSBPcGlvaWRDRFNDb21tb24gdmVyc2lvbiAnMC4xLjEnCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgT01US0xvZ2ljTUsyMDIwIHZlcnNpb24gJzAuMS4xJyBjYWxsZWQgT01US0xvZ2ljCmluY2x1ZGUgT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIHZlcnNpb24gJzAuMS4xJyBjYWxsZWQgQ29uZmlnCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJTTk9NRUQiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdCcKCi8vIEV4cHJlc3Npb24tYmFzZWQKdmFsdWVzZXQgIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLWFuYWxnZXNpY3Mtd2l0aC1hbWJ1bGF0b3J5LW1pc3VzZS1wb3RlbnRpYWwnCnZhbHVlc2V0ICJFeHRlbmRlZCByZWxlYXNlIG9waW9pZCB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2V4dGVuZGVkLXJlbGVhc2Utb3Bpb2lkLXdpdGgtYW1idWxhdG9yeS1taXN1c2UtcG90ZW50aWFsJwp2YWx1ZXNldCAiQnVwcmVub3JwaGluZSBhbmQgbWV0aGFkb25lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvYnVwcmVub3JwaGluZS1hbmQtbWV0aGFkb25lLW1lZGljYXRpb25zJwp2YWx1ZXNldCAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ub24tc3ludGhldGljLW9waW9pZC1tZWRpY2F0aW9ucycKCi8vIEVudW1lcmF0ZWQtY29tcG9zZQp2YWx1ZXNldCAiTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2xpbWl0ZWQtbGlmZS1leHBlY3RhbmN5LWNvbmRpdGlvbnMnCnZhbHVlc2V0ICJUaGVyYXBpZXMgaW5kaWNhdGluZyBlbmQgb2YgbGlmZSBjYXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvdGhlcmFwaWVzLWluZGljYXRpbmctZW5kLW9mLWxpZmUtY2FyZScKdmFsdWVzZXQgIkNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmciOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb25zLWxpa2VseS10ZXJtaW5hbC1mb3Itb3Bpb2lkLXByZXNjcmliaW5nJwp2YWx1ZXNldCAiQ0RDIG1hbGlnbmFudCBjYW5jZXIgY29uZGl0aW9ucyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NkYy1tYWxpZ25hbnQtY2FuY2VyLWNvbmRpdGlvbnMnCnZhbHVlc2V0ICJPbmNvbG9neSBzcGVjaWFsdHkgZGVzaWduYXRpb25zIChOVUNDKSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29uY29sb2d5LXNwZWNpYWx0eS1kZXNpZ25hdGlvbnMnCnZhbHVlc2V0ICJPcGlvaWQgbWlzdXNlIGRpc29yZGVycyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1taXN1c2UtZGlzb3JkZXJzJwp2YWx1ZXNldCAiU3Vic3RhbmNlIG1pc3VzZSBiZWhhdmlvcmFsIGNvdW5zZWxpbmciOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9zdWJzdGFuY2UtbWlzdXNlLWJlaGF2aW9yYWwtY291bnNlbGluZycKdmFsdWVzZXQgIkNvbmRpdGlvbnMgZG9jdW1lbnRpbmcgc3Vic3RhbmNlIG1pc3VzZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtZG9jdW1lbnRpbmctc3Vic3RhbmNlLW1pc3VzZScKLy8gSGFydmVzdGVkIGZyb20gVlNBQyAtIE9JRDogMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMQovLyBSZXZpZXdlZCB3aXRoIFRlcm1pbm9sb2d5LCAyMDIwLTAyLTA1IC0gVmFsdWUgc2V0IG5hbWUgaW4gVlNBQyBpcyAiT2ZmaWNlIFZpc2l0IiwgbmVlZCB0byB2ZXJpZnkgc3VpdGFiaWxpdHkKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29mZmljZS12aXNpdCcKdmFsdWVzZXQgIk9waW9pZCBjb3Vuc2VsaW5nIHByb2NlZHVyZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1jb3Vuc2VsaW5nLXByb2NlZHVyZScKLyogRXhpc3Rpbmcgc2V0cyBmb3IgZmlyc3Qgc2l4IHJlY3MgKi8KdmFsdWVzZXQgIkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvYmVuem9kaWF6ZXBpbmUtbWVkaWNhdGlvbnMnCnZhbHVlc2V0ICJOb24tb3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbm9uLW9waW9pZC1kcnVnLXVyaW5lLXNjcmVlbmluZycKdmFsdWVzZXQgIk5hbG94b25lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbmFsb3hvbmUtbWVkaWNhdGlvbnMnCnZhbHVlc2V0ICJPcGlvaWQgbWlzdXNlIGFzc2Vzc21lbnQgcHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLW1pc3VzZS1hc3Nlc3NtZW50LXByb2NlZHVyZScKdmFsdWVzZXQgIk9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1kcnVnLXVyaW5lLXNjcmVlbmluZycKdmFsdWVzZXQgIkhvc3BpY2UgRGlzcG9zaXRpb24iOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLWRpc3Bvc2l0aW9uJyAvLyBIYXJ2ZXN0ZWQgZnJvbSBWU0FDIC0gT0lEOiAyLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEwOC4xNQp2YWx1ZXNldCAiSG9zcGljZSBGaW5kaW5nIENvZGVzIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvaG9zcGljZS1maW5kaW5nJwp2YWx1ZXNldCAiSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLXByb2NlZHVyZScKdmFsdWVzZXQgIk9ic2VydmF0aW9uIENhdGVnb3J5IExhYm9yYXRvcnkiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vYnNlcnZhdGlvbi1jYXRlZ29yeS1sYWJvcmF0b3J5Jwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gQ2F0ZWdvcnkgUHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2JzZXJ2YXRpb24tY2F0ZWdvcnktcHJvY2VkdXJlJwp2YWx1ZXNldCAiUGFpbiB0cmVhdG1lbnQgcGxhbiI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BhaW4tdHJlYXRtZW50LXBsYW4nCnZhbHVlc2V0ICJQYWluIG1hbmFnZW1lbnQgcHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGFpbi1tYW5hZ2VtZW50LXByb2NlZHVyZScKdmFsdWVzZXQgIlBETVAgcmV2aWV3IHByb2NlZHVyZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BkbXAtcmV2aWV3LXByb2NlZHVyZScKdmFsdWVzZXQgIlBETVAgZGF0YSByZXZpZXdlZCBmaW5kaW5nIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGRtcC1kYXRhLXJldmlld2VkLWZpbmRpbmcnCnZhbHVlc2V0ICJDb2NhaW5lIFVyaW5lIFRlc3RzIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29jYWluZS11cmluZS1kcnVnLXNjcmVlbmluZy10ZXN0cycKdmFsdWVzZXQgIlBDUCBVcmluZSBUZXN0cyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BoZW5jeWNsaWRpbmUtdXJpbmUtZHJ1Zy1zY3JlZW5pbmctdGVzdHMnCgp2YWx1ZXNldCAiQ29tbXVuaXR5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnktY29tbXVuaXR5Jwp2YWx1ZXNldCAiQWN0aXZlIENvbmRpdGlvbiI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbi1jbGluaWNhbC1zdGF0dXMtYWN0aXZlJwp2YWx1ZXNldCAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3Qtc3RhdHVzLWFjdGl2ZScKLyogdmFsdWVzZXQgIlVTIENvcmUgQ29uZGl0aW9uIENhdGVnb3JpZXMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tY2F0ZWdvcmllcycgKi8KdmFsdWVzZXQgIkVuY291bnRlciBEaWFnbm9zaXMgQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLWVuY291bnRlci1kaWFnbm9zaXMtY2F0ZWdvcnknCnZhbHVlc2V0ICJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXByb2JsZW0tbGlzdC1jYXRlZ29yeScKdmFsdWVzZXQgIlVTIENvcmUgSGVhbHRoIENvbmNlcm4gQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXVzLWNvcmUtaGVhbHRoLWNvbmNlcm4tY2F0ZWdvcnknCgovLyBUT0RPOiBjb2RlICJOb25waGFybWFjb2xvZ2ljIHRoZXJhcHkgYW5kIG5vbm9waW9pZCBwaGFybW9jb2xvZ2ljIjogJ1RPRE8nIGZyb20gIlRPRE8iCgpjb250ZXh0IFBhdGllbnQKCi8vIFRPRE86IENhcHR1cmUgcHJvY2VzcyBkZWNpc2lvbnMgZm9yIGxvbmctdGVybSBvcGlvaWQgdXNlCgpkZWZpbmUgIk9waW9pZCBPdGhlciBUaGFuIFN5bnRoZXRpYyBPcmRlcmVkIEluIExhc3QgMTIgTW9udGhzIjoKICBbTWVkaWNhdGlvblJlcXVlc3Q6IHN0YXR1cyBpbiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0Il0gTVIKICAgICAgd2hlcmUgZGF0ZSBmcm9tIE1SLmF1dGhvcmVkT24gMSB5ZWFyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFRvZGF5KCkKICAgICAgYW5kIE1SLm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIG9yIChNUi5tZWRpY2F0aW9uIGluICJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIKICAgICAgYW5kIG5vdCAoTVIubWVkaWNhdGlvbiBpbiAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiKSkKCmRlZmluZSAiQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IjoKICAoCiAgICAoIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIihbTWVkaWNhdGlvblJlcXVlc3Q6IHN0YXR1cyBpbiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0Il0pKSBNUgogICAgICB3aGVyZSBkYXRlIGZyb20gTVIuYXV0aG9yZWRPbiAyIHllYXJzIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFRvZGF5KCkKICAgICAgICBhbmQgTVIubWVkaWNhdGlvbiBpcyBSZWZlcmVuY2Ugb3IgTVIubWVkaWNhdGlvbiBpbiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiCiAgICAgICAgYW5kIE1SLmNhdGVnb3J5IGluICJDb21tdW5pdHkiCiAgKSBSeAogICAgbGV0IE1lZDogW01lZGljYXRpb246IGlkIGluIChMYXN0KFNwbGl0KChSeC5tZWRpY2F0aW9uIGFzIEZISVIuUmVmZXJlbmNlKS5yZWZlcmVuY2UsICcvJykpKV0KICAgIHdoZXJlIG5vdChSeC5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSkgb3IgTWVkLmNvZGUgaW4gIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIgogICAgICByZXR1cm4KICAgICAgICBNZWRpY2F0aW9uUmVxdWVzdCB7CiAgICAgICAgICBpZDogUnguaWQsCiAgICAgICAgICBzdGF0dXM6IFJ4LnN0YXR1cywKICAgICAgICAgIGludGVudDogUnguaW50ZW50LAogICAgICAgICAgY2F0ZWdvcnk6IFJ4LmNhdGVnb3J5LAogICAgICAgICAgbWVkaWNhdGlvbjogaWYgUngubWVkaWNhdGlvbiBpcyBSZWZlcmVuY2UgdGhlbiBGaXJzdChNZWQuY29kZSkgZWxzZSBSeC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCwKICAgICAgICAgIHN1YmplY3Q6IFJ4LnN1YmplY3QsCiAgICAgICAgICByZWNvcmRlcjogUngucmVjb3JkZXIsCiAgICAgICAgICBkb3NhZ2VJbnN0cnVjdGlvbjogUnguZG9zYWdlSW5zdHJ1Y3Rpb24sCiAgICAgICAgICBkaXNwZW5zZVJlcXVlc3Q6IFJ4LmRpc3BlbnNlUmVxdWVzdAogICAgICAgIH0KCmRlZmluZSAiQWN0aXZlIEFtYnVsYXRvcnkgQmVuem9kaWF6ZXBpbmUgUngiOgogICgKICAgICgiR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE1lZGljYXRpb24gUmVxdWVzdHMiKFtNZWRpY2F0aW9uUmVxdWVzdDogc3RhdHVzIGluICJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiXSkpIE1SCiAgICAgIHdoZXJlIGRhdGUgZnJvbSBNUi5hdXRob3JlZE9uIDIgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgVG9kYXkoKQogICAgICAgIGFuZCBNUi5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSBvciBNUi5tZWRpY2F0aW9uIGluICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIKICAgICAgICBhbmQgTVIuY2F0ZWdvcnkgaW4gIkNvbW11bml0eSIKICApIFJ4CiAgICBsZXQgTWVkOiBbTWVkaWNhdGlvbjogaWQgaW4gKExhc3QoU3BsaXQoKFJ4Lm1lZGljYXRpb24gYXMgRkhJUi5SZWZlcmVuY2UpLnJlZmVyZW5jZSwgJy8nKSkpXQogICAgd2hlcmUgbm90KFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlKSBvciBNZWQuY29kZSBpbiAiQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiCiAgICAgIHJldHVybgogICAgICAgIE1lZGljYXRpb25SZXF1ZXN0IHsKICAgICAgICAgIGlkOiBSeC5pZCwKICAgICAgICAgIHN0YXR1czogUnguc3RhdHVzLAogICAgICAgICAgaW50ZW50OiBSeC5pbnRlbnQsCiAgICAgICAgICBjYXRlZ29yeTogUnguY2F0ZWdvcnksCiAgICAgICAgICBtZWRpY2F0aW9uOiBpZiBSeC5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSB0aGVuIEZpcnN0KE1lZC5jb2RlKSBlbHNlIFJ4Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0LAogICAgICAgICAgc3ViamVjdDogUnguc3ViamVjdCwKICAgICAgICAgIHJlY29yZGVyOiBSeC5yZWNvcmRlciwKICAgICAgICAgIGRvc2FnZUluc3RydWN0aW9uOiBSeC5kb3NhZ2VJbnN0cnVjdGlvbiwKICAgICAgICAgIGRpc3BlbnNlUmVxdWVzdDogUnguZGlzcGVuc2VSZXF1ZXN0CiAgICAgICAgfQoKZGVmaW5lICJBY3RpdmUgQW1idWxhdG9yeSBOYWxveG9uZSBSeCI6CiAgKAogICAgKCJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIoW01lZGljYXRpb25SZXF1ZXN0OiBzdGF0dXMgaW4gIkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCJdKSkgTVIKICAgICAgd2hlcmUgZGF0ZSBmcm9tIE1SLmF1dGhvcmVkT24gMiB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBUb2RheSgpCiAgICAgICAgYW5kIE1SLm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIG9yIE1SLm1lZGljYXRpb24gaW4gIk5hbG94b25lIG1lZGljYXRpb25zIgogICAgICAgIGFuZCBNUi5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgogICkgUngKICAgIGxldCBNZWQ6IFtNZWRpY2F0aW9uOiBpZCBpbiAoTGFzdChTcGxpdCgoUngubWVkaWNhdGlvbiBhcyBGSElSLlJlZmVyZW5jZSkucmVmZXJlbmNlLCAnLycpKSldCiAgICB3aGVyZSBub3QoUngubWVkaWNhdGlvbiBpcyBSZWZlcmVuY2UpIG9yIE1lZC5jb2RlIGluICJOYWxveG9uZSBtZWRpY2F0aW9ucyIKICAgICAgcmV0dXJuCiAgICAgICAgTWVkaWNhdGlvblJlcXVlc3QgewogICAgICAgICAgaWQ6IFJ4LmlkLAogICAgICAgICAgc3RhdHVzOiBSeC5zdGF0dXMsCiAgICAgICAgICBpbnRlbnQ6IFJ4LmludGVudCwKICAgICAgICAgIGNhdGVnb3J5OiBSeC5jYXRlZ29yeSwKICAgICAgICAgIG1lZGljYXRpb246IGlmIFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIHRoZW4gRmlyc3QoTWVkLmNvZGUpIGVsc2UgUngubWVkaWNhdGlvbiBhcyBDb2RlYWJsZUNvbmNlcHQsCiAgICAgICAgICBzdWJqZWN0OiBSeC5zdWJqZWN0LAogICAgICAgICAgcmVjb3JkZXI6IFJ4LnJlY29yZGVyLAogICAgICAgICAgZG9zYWdlSW5zdHJ1Y3Rpb246IFJ4LmRvc2FnZUluc3RydWN0aW9uLAogICAgICAgICAgZGlzcGVuc2VSZXF1ZXN0OiBSeC5kaXNwZW5zZVJlcXVlc3QKICAgICAgICB9CgpkZWZpbmUgZnVuY3Rpb24gIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiAodmFsdWUgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pIHJldHVybnMgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD46CiAgdmFsdWUgUngKICAgIHdoZXJlIFJ4LnN0YXR1cy52YWx1ZSA9ICdhY3RpdmUnCiAgICAgIGFuZCBSeC5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgoKZGVmaW5lIGZ1bmN0aW9uICJJcyBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsPyIodmFsdWUgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pOgogIHZhbHVlIFJ4CiAgICBsZXQgTWVkOiBbTWVkaWNhdGlvbjogaWQgaW4gKExhc3QoU3BsaXQoKFJ4Lm1lZGljYXRpb24gYXMgRkhJUi5SZWZlcmVuY2UpLnJlZmVyZW5jZSwgJy8nKSkpXQogICB3aGVyZSAoCiAgICAgICAgKAogICAgICAgICAgbm90KFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlKQogICAgICAgICAgICBhbmQgUngubWVkaWNhdGlvbiBpbiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiCiAgICAgICAgKQogICAgICAgIG9yIE1lZC5jb2RlIGluICJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIKICAgICAgKQogICAgICBhbmQgUnguY2F0ZWdvcnkgaW4gIkNvbW11bml0eSIKICAgIHJldHVybgogICAgICBNZWRpY2F0aW9uUmVxdWVzdCB7CiAgICAgICAgaWQ6IFJ4LmlkLAogICAgICAgIHN0YXR1czogUnguc3RhdHVzLAogICAgICAgIGludGVudDogUnguaW50ZW50LAogICAgICAgIGNhdGVnb3J5OiBSeC5jYXRlZ29yeSwKICAgICAgICBtZWRpY2F0aW9uOiBpZiBSeC5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSB0aGVuIEZpcnN0KE1lZC5jb2RlKSBlbHNlIFJ4Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0LAogICAgICAgIHN1YmplY3Q6IFJ4LnN1YmplY3QsCiAgICAgICAgYXV0aG9yZWRPbjogUnguYXV0aG9yZWRPbiwKICAgICAgICByZWNvcmRlcjogUngucmVjb3JkZXIsCiAgICAgICAgZG9zYWdlSW5zdHJ1Y3Rpb246IFJ4LmRvc2FnZUluc3RydWN0aW9uLAogICAgICAgIGRpc3BlbnNlUmVxdWVzdDogUnguZGlzcGVuc2VSZXF1ZXN0CiAgICAgIH0KCiAgICBkZWZpbmUgZnVuY3Rpb24gIklzIEJlbnpvZGlhemVwaW5lPyIodmFsdWUgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pOgogICAgICB2YWx1ZSBSeAogICAgICAgIGxldCBNZWQ6IFtNZWRpY2F0aW9uOiBpZCBpbiAoTGFzdChTcGxpdCgoUngubWVkaWNhdGlvbiBhcyBGSElSLlJlZmVyZW5jZSkucmVmZXJlbmNlLCAnLycpKSldCiAgICAgICAgd2hlcmUgKAogICAgICAgICAgICAoCiAgICAgICAgICAgICAgbm90KFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlKQogICAgICAgICAgICAgICAgYW5kIFJ4Lm1lZGljYXRpb24gaW4gIkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIgogICAgICAgICAgICApCiAgICAgICAgICAgIG9yIE1lZC5jb2RlIGluICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIKICAgICAgICAgICkKICAgICAgICAgIGFuZCBSeC5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgogICAgICAgIHJldHVybgogICAgICAgICAgICAgIE1lZGljYXRpb25SZXF1ZXN0IHsKICAgICAgICAgICAgICAgIGlkOiBSeC5pZCwKICAgICAgICAgICAgICAgIHN0YXR1czogUnguc3RhdHVzLAogICAgICAgICAgICAgICAgaW50ZW50OiBSeC5pbnRlbnQsCiAgICAgICAgICAgICAgICBjYXRlZ29yeTogUnguY2F0ZWdvcnksCiAgICAgICAgICAgICAgICBtZWRpY2F0aW9uOiBpZiBSeC5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSB0aGVuIEZpcnN0KE1lZC5jb2RlKSBlbHNlIFJ4Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0LAogICAgICAgICAgICAgICAgc3ViamVjdDogUnguc3ViamVjdCwKICAgICAgICAgICAgICAgIGF1dGhvcmVkT246IFJ4LmF1dGhvcmVkT24sCiAgICAgICAgICAgICAgICByZWNvcmRlcjogUngucmVjb3JkZXIsCiAgICAgICAgICAgICAgICBkb3NhZ2VJbnN0cnVjdGlvbjogUnguZG9zYWdlSW5zdHJ1Y3Rpb24sCiAgICAgICAgICAgICAgICBkaXNwZW5zZVJlcXVlc3Q6IFJ4LmRpc3BlbnNlUmVxdWVzdAogICAgICAgICAgICAgIH0KCmRlZmluZSAiRW5kIG9mIExpZmUgQXNzZXNzbWVudCI6CiAgICAvLyAxLiBDb25kaXRpb25zIGluZGljYXRpbmcgZW5kIG9mIGxpZmUgb3Igd2l0aCBsaW1pdGVkIGxpZmUgZXhwZWN0YW5jeQogICAgZXhpc3RzICgKICAgICAgIkNvbmRpdGlvbnMgSW5kaWNhdGluZyBFbmQgb2YgTGlmZSBvciBXaXRoIExpbWl0ZWQgTGlmZSBFeHBlY3RhbmN5IgogICAgKQogICAgLy8gMi4gQWRtaXR0ZWQvcmVmZXJyZWQvZGlzY2hhcmdlZCB0byBob3NwaWNlIGNhcmUKICAgIG9yIGV4aXN0cyAoCiAgICAgICJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSIKICAgICkKICAgIC8vIDMuIE1lZGljYXRpb25zIGluZGljYXRpbmcgZW5kIG9mIGxpZmUKICAgIC8qIG9yIGV4aXN0cyAoCiAgICAgICJNZWRpY2F0aW9ucyBJbmRpY2F0aW5nIEVuZCBvZiBMaWZlIgogICAgKSAqLwoKZGVmaW5lICJVUyBDb3JlLUNhdGVnb3JpemVkIENvbmRpdGlvbnMiOgogIFtDb25kaXRpb246IGNhdGVnb3J5IGluICJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSJdCiAgICB1bmlvbiBbQ29uZGl0aW9uOiBjYXRlZ29yeSBpbiAiUHJvYmxlbSBMaXN0IENvbmRpdGlvbiBDYXRlZ29yeSJdCiAgICB1bmlvbiBbQ29uZGl0aW9uOiBjYXRlZ29yeSBpbiAiVVMgQ29yZSBIZWFsdGggQ29uY2VybiBDb25kaXRpb24gQ2F0ZWdvcnkiXQoKZGVmaW5lICJDb25kaXRpb25zIEluZGljYXRpbmcgRW5kIG9mIExpZmUgb3IgV2l0aCBMaW1pdGVkIExpZmUgRXhwZWN0YW5jeSI6CiAgKAogICAgIlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIgQwogICAgICB3aGVyZSBDLmNvZGUgaW4gIkNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmciCiAgICAgICAgYW5kIEMuY2xpbmljYWxTdGF0dXMgaW4gIkFjdGl2ZSBDb25kaXRpb24iCiAgKQogIHVuaW9uCiAgKAogICAgIlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIgQwogICAgICB3aGVyZSBDLmNvZGUgaW4gIkxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5IGNvbmRpdGlvbnMiCiAgICAgICAgYW5kIEMuY2xpbmljYWxTdGF0dXMgaW4gIkFjdGl2ZSBDb25kaXRpb24iCiAgKQoKZGVmaW5lICJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSI6CiAgKAogICAgW1Byb2NlZHVyZTogY29kZSBpbiAiSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiXSBQCiAgICAgIHdoZXJlIFAuc3RhdHVzLnZhbHVlIGluIHsgJ2luLXByb2dyZXNzJywgJ2NvbXBsZXRlZCcgfQogICkKICB1bmlvbgogICgKICAgICJTZXJ2aWNlIFJlcXVlc3RzIiBTUgogICAgICB3aGVyZSBTUi5jb2RlIGluICJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIKICAgICAgICBhbmQgU1Iuc3RhdHVzLnZhbHVlIGluIHsgJ2FjdGl2ZScsICdjb21wbGV0ZWQnIH0KICApCiAgdW5pb24KICAoCiAgICBpZiAoQ29uZmlnLiJIb3NwaWNlIEZpbmRpbmdzIEV4Y2x1c2lvbiBFbmFibGVkIikgdGhlbgogICAgICBbT2JzZXJ2YXRpb246IGNvZGUgaW4gIkhvc3BpY2UgRmluZGluZyBDb2RlcyJdIE8KICAgICAgICB3aGVyZSBub3QgKE8uc3RhdHVzLnZhbHVlIGluIHsgJ3Vua25vd24nLCAnZW50ZXJlZC1pbi1lcnJvcicsICdjYW5jZWxsZWQnIH0pCiAgICBlbHNlCiAgICAgIHt9CiAgKQogIHVuaW9uCiAgKAogICAgW0VuY291bnRlcl0gRQogICAgICB3aGVyZSBkYXRlIGZyb20gRS5wZXJpb2Quc3RhcnQgMSB5ZWFyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFRvZGF5KCkKICAgICAgICBhbmQgKAogICAgICAgICAgaWYgRS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24uY29kaW5nIGlzIG51bGwKICAgICAgICAgICAgICBvciBub3QgZXhpc3RzIChFLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbi5jb2RpbmcpCiAgICAgICAgICAgIHRoZW4gZmFsc2UKICAgICAgICAgIGVsc2UgRS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkhvc3BpY2UgRGlzcG9zaXRpb24iCiAgICAgICAgKQogICAgICAgIGFuZCBFLnN0YXR1cy52YWx1ZSBpbiB7ICdwbGFubmVkJywgJ2Fycml2ZWQnLCAnaW4tcHJvZ3Jlc3MnLCAnZmluaXNoZWQnLCAnb25sZWF2ZScgfQogICkKCi8qCgpkZWZpbmUgIk1lZGljYXRpb25zIEluZGljYXRpbmcgRW5kIG9mIExpZmUiOgogICgKICAgIFtNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb246ICJFbmQgT2YgTGlmZSBPcGlvaWRzIl0gTUEKICAgICAgd2hlcmUgTUEuc3RhdHVzLnZhbHVlIGluIHsgJ2luLXByb2dyZXNzJywgJ29uLWhvbGQnLCAnY29tcGxldGVkJyB9CiAgKQogIHVuaW9uCiAgKAogICAgW01lZGljYXRpb25EaXNwZW5zZTogIkVuZCBPZiBMaWZlIE9waW9pZHMiXSBNRAogICAgICB3aGVyZSBNRC5zdGF0dXMudmFsdWUgaW4geyAncHJlcGFyYXRpb24nLCAnaW4tcHJvZ3Jlc3MnLCAnb24taG9sZCcsICdjb21wbGV0ZWQnIH0KICApCiAgdW5pb24KICAoCiAgICBbTWVkaWNhdGlvblJlcXVlc3Q6ICJFbmQgT2YgTGlmZSBPcGlvaWRzIl0gTVIKICAgICAgd2hlcmUgTVIuc3RhdHVzLnZhbHVlIGluIHsgJ2FjdGl2ZScsICdjb21wbGV0ZWQnIH0KICApCiAgdW5pb24KICAoCiAgICBbTWVkaWNhdGlvblN0YXRlbWVudDogIkVuZCBPZiBMaWZlIE9waW9pZHMiXSBNUwogICAgICB3aGVyZSBNUy5zdGF0dXMudmFsdWUgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcsICdpbnRlbmRlZCcgfQogICkKCiovCgpkZWZpbmUgIlByZXZpb3VzIDEwIERheXMgSW50ZXJ2YWwiOgpJbnRlcnZhbFtUb2RheSgpIC0gMTAgZGF5cywgVG9kYXkoKV0KCmRlZmluZSAiRmlyc3QgTW9udGgiOgpJbnRlcnZhbFtUb2RheSgpIC0gMyBtb250aHMsIFRvZGF5KCkgLSAyIG1vbnRoc10KCmRlZmluZSAiU2Vjb25kIE1vbnRoIjoKSW50ZXJ2YWxbVG9kYXkoKSAtIDIgbW9udGhzLCBUb2RheSgpIC0gMSBtb250aHNdCgpkZWZpbmUgIlRoaXJkIE1vbnRoIjoKSW50ZXJ2YWxbVG9kYXkoKSAtIDEgbW9udGhzLCBUb2RheSgpXQoKZGVmaW5lICJQcmVzY3JpYmVkIE9waW9pZHMgZm9yIDIxIG9yIG1vcmUgb2YgMzAgRGF5cyBmb3IgZWFjaCBvZiB0aGUgcGFzdCAzIE1vbnRocyI6CiAgIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIigiRmlyc3QgTW9udGgiKSA+PSAyMQogICAgYW5kICJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIoIlNlY29uZCBNb250aCIpID49IDIxCiAgICBhbmQgIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIigiVGhpcmQgTW9udGgiKSA+PSAyMQoKZGVmaW5lIGZ1bmN0aW9uICJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIihwcmVzY3JpcHRpb24gRkhJUi5NZWRpY2F0aW9uUmVxdWVzdCk6CiAgaWYgKAogICAgcHJlc2NyaXB0aW9uLmF1dGhvcmVkT24gaXMgbm90IG51bGwgYW5kIHByZXNjcmlwdGlvbi5kaXNwZW5zZVJlcXVlc3QgaXMgbm90IG51bGwKICAgICAgYW5kIHByZXNjcmlwdGlvbi5kaXNwZW5zZVJlcXVlc3QuZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiBpcyBub3QgbnVsbAogICkKICB0aGVuIEludGVydmFsWwogICAgZGF0ZSBmcm9tIHByZXNjcmlwdGlvbi5hdXRob3JlZE9uLAogICAgZGF0ZSBmcm9tIHByZXNjcmlwdGlvbi5hdXRob3JlZE9uICsgU3lzdGVtLlF1YW50aXR5eyB2YWx1ZTogR2V0RHVyYXRpb25JbkRheXMocHJlc2NyaXB0aW9uLmRpc3BlbnNlUmVxdWVzdC5leHBlY3RlZFN1cHBseUR1cmF0aW9uKSwgdW5pdDogJ2RheXMnIH0KICBdCiAgZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIihwZXJpb2QgSW50ZXJ2YWw8RGF0ZT4pOgogIFN1bSgKICAgICgKICAgICAgY29sbGFwc2UgKAogICAgICAgIFtNZWRpY2F0aW9uUmVxdWVzdDogIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIl0gT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgcmV0dXJuICJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIiggT3Bpb2lkUHJlc2NyaXB0aW9uICkgaW50ZXJzZWN0IHBlcmlvZAogICAgICApCiAgICApIE9waW9pZFVzZUludGVydmFsCiAgICAgIHJldHVybiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgT3Bpb2lkVXNlSW50ZXJ2YWwgYW5kIGVuZCBvZiBPcGlvaWRVc2VJbnRlcnZhbAogICkKCgoKZGVmaW5lIGZ1bmN0aW9uIEdldER1cmF0aW9uSW5EYXlzKHZhbHVlIEZISVIuRHVyYXRpb24pOgogIGlmIHZhbHVlIGlzIG51bGwgdGhlbiBudWxsCiAgZWxzZQogICAgY2FzZQogICAgICB3aGVuIHZhbHVlLmNvZGUudmFsdWUgfiAnYScgdGhlbiB2YWx1ZS52YWx1ZS52YWx1ZSAqIDM2NS4wCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSB+ICdtbycgdGhlbiB2YWx1ZS52YWx1ZS52YWx1ZSAqIDMwLjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ3drJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlICogNy4wCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSB+ICdkJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSB+ICdoJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlIC8gMjQuMAogICAgICB3aGVuIHZhbHVlLmNvZGUudmFsdWUgfiAnbWluJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlIC8gNjAuMCAvIDI0LjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ3MnIHRoZW4gdmFsdWUudmFsdWUudmFsdWUgLyA2MC4wIC8gNjAuMCAvIDI0LjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ21zJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlIC8gNjAuMCAvIDYwLjAgLyAyNC4wIC8gMTAwMC4wCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSBpcyBudWxsIHRoZW4gTWVzc2FnZSgxMDAwLCB0cnVlLCAnVW5kZWZpbmVkJywgJ0Vycm9yJywgJ0R1cmF0aW9uIHVuaXQgY29kZSBpcyBudWxsJykKICAgICAgZWxzZSBNZXNzYWdlKDEwMDAsIHRydWUsICdVbmRlZmluZWQnLCAnRXJyb3InLCAnVW5zdXBwb3J0ZWQgZHVyYXRpb24gdW5pdCBjb2RlOiAnICsgdmFsdWUuY29kZS52YWx1ZSkKZW5kCgovKgoqICBDb252ZXJzaW9uIEZ1bmN0aW9ucwoqLwpkZWZpbmUgZnVuY3Rpb24gQ29kZWFibGVDb25jZXB0c1RvU3RyaW5nKGNvbmNlcHRzIExpc3Q8RkhJUi5Db2RlYWJsZUNvbmNlcHQ+KToKICBjb25jZXB0cyBjIHJldHVybiBDb2RlYWJsZUNvbmNlcHRUb1N0cmluZyhjKQoKCmRlZmluZSBmdW5jdGlvbiBDb2RpbmdUb1N0cmluZyhjb2RpbmcgRkhJUi5Db2RpbmcpOgogIGlmIChjb2RpbmcgaXMgbnVsbCkKICB0aGVuIG51bGwKICBlbHNlCiAgICAnQ29kZSB7JyAmCiAgICAgICdjb2RlOiAnICYgY29kaW5nLmNvZGUgJgogICAgICAnc3lzdGVtOiAnICYgY29kaW5nLnN5c3RlbSAmCiAgICAgICd2ZXJzaW9uOiAnICYgY29kaW5nLnZlcnNpb24gJgogICAgICAnZGlzcGxheTogJyAmIGNvZGluZy5kaXNwbGF5ICYKICAgICd9JwoKZGVmaW5lIGZ1bmN0aW9uIENvZGVhYmxlQ29uY2VwdFRvU3RyaW5nKGNvbmNlcHQgRkhJUi5Db2RlYWJsZUNvbmNlcHQpOgogIGlmIChjb25jZXB0IGlzIG51bGwgb3IgY29uY2VwdC5jb2RpbmcgaXMgbnVsbCkKICB0aGVuIG51bGwKICBlbHNlCiAgICAnQ29kZWFibGVDb25jZXB0IHsnICYKICAgICAgJ0NvZGluZzogWycgJgogICAgICAgIENvbWJpbmUoY29uY2VwdC5jb2RpbmcgQ29kaW5nIHJldHVybiBDb2RpbmdUb1N0cmluZyhDb2RpbmcpLCAnLCcpCiAgICAgICYgJ10nCiAgICAmICd9JwoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29kZXMoY29kaW5nIExpc3Q8RkhJUi5Db2Rpbmc+KToKICBjb2RpbmcgYyByZXR1cm4gRkhJUkhlbHBlcnMuVG9Db2RlKGMpCgpkZWZpbmUgZnVuY3Rpb24gVG9SeE5vcm1Db2RlKGNvZGluZyBMaXN0PEZISVIuQ29kaW5nPik6CiAgc2luZ2xldG9uIGZyb20gKAogICAgY29kaW5nIEMgd2hlcmUgQy5zeXN0ZW0gPSAnaHR0cDovL3d3dy5ubG0ubmloLmdvdi9yZXNlYXJjaC91bWxzL3J4bm9ybScKICApCgogZGVmaW5lICJTZXJ2aWNlIFJlcXVlc3RzIjoKICAgW1NlcnZpY2VSZXF1ZXN0XSBTUgogICAgcmV0dXJuIFNSCg==" }, { "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjQiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSI3NiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iNzYiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9Ijk4IiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSI5OCIgZW5kQ2hhcj0iOTYiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIGxpYnJhcnlTeXN0ZW09Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiIGxpYnJhcnlJZD0iT3Bpb2lkQ0RTQ29tbW9uIiBsaWJyYXJ5VmVyc2lvbj0iMC4xLjEiIHN0YXJ0TGluZT0iMTIwIiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSIxMjAiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9IjE0MiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iMTQyIiBlbmRDaGFyPSI5NiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSIxNjEiIHN0YXJ0Q2hhcj0iMTgiIGVuZExpbmU9IjE2MSIgZW5kQ2hhcj0iMTAwIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8aWRlbnRpZmllciBpZD0iT3Bpb2lkQ0RTQ29tbW9uIiBzeXN0ZW09Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiIHZlcnNpb249IjAuMS4xIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzoxLTM6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSIvPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2F0b3I9IjU6MS01OjU0IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjY6MS02OjU2IiBsb2NhbElkZW50aWZpZXI9Ik9NVEtMb2dpYyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PTVRLTG9naWNNSzIwMjAiIHZlcnNpb249IjAuMS4xIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzoxLTc6NTkiIGxvY2FsSWRlbnRpZmllcj0iQ29uZmlnIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU0NvbW1vbkNvbmZpZyIgdmVyc2lvbj0iMC4xLjEiLz4KICAgPC9pbmNsdWRlcz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2F0b3I9Ijk6MS05OjM4IiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxMDoxLTEwOjQ1IiBuYW1lPSJTTk9NRUQiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgIDwvY29kZVN5c3RlbXM+CiAgIDx2YWx1ZVNldHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTM6MS0xMzoxNjIiIG5hbWU9Ik9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtYW5hbGdlc2ljcy13aXRoLWFtYnVsYXRvcnktbWlzdXNlLXBvdGVudGlhbCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjE0OjEtMTQ6MTc0IiBuYW1lPSJFeHRlbmRlZCByZWxlYXNlIG9waW9pZCB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvZXh0ZW5kZWQtcmVsZWFzZS1vcGlvaWQtd2l0aC1hbWJ1bGF0b3J5LW1pc3VzZS1wb3RlbnRpYWwiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxNToxLTE1OjE0MCIgbmFtZT0iQnVwcmVub3JwaGluZSBhbmQgbWV0aGFkb25lIG1lZGljYXRpb25zIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9idXByZW5vcnBoaW5lLWFuZC1tZXRoYWRvbmUtbWVkaWNhdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxNjoxLTE2OjEyNiIgbmFtZT0iTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L25vbi1zeW50aGV0aWMtb3Bpb2lkLW1lZGljYXRpb25zIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTk6MS0xOToxMzAiIG5hbWU9IkxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5IGNvbmRpdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2xpbWl0ZWQtbGlmZS1leHBlY3RhbmN5LWNvbmRpdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIyMDoxLTIwOjEzNiIgbmFtZT0iVGhlcmFwaWVzIGluZGljYXRpbmcgZW5kIG9mIGxpZmUgY2FyZSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvdGhlcmFwaWVzLWluZGljYXRpbmctZW5kLW9mLWxpZmUtY2FyZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjIxOjEtMjE6MTYwIiBuYW1lPSJDb25kaXRpb25zIGxpa2VseSB0ZXJtaW5hbCBmb3Igb3Bpb2lkIHByZXNjcmliaW5nIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb25zLWxpa2VseS10ZXJtaW5hbC1mb3Itb3Bpb2lkLXByZXNjcmliaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjI6MS0yMjoxMjQiIG5hbWU9IkNEQyBtYWxpZ25hbnQgY2FuY2VyIGNvbmRpdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NkYy1tYWxpZ25hbnQtY2FuY2VyLWNvbmRpdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIyMzoxLTIzOjEzMSIgbmFtZT0iT25jb2xvZ3kgc3BlY2lhbHR5IGRlc2lnbmF0aW9ucyAoTlVDQykiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29uY29sb2d5LXNwZWNpYWx0eS1kZXNpZ25hdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIyNDoxLTI0OjEwOCIgbmFtZT0iT3Bpb2lkIG1pc3VzZSBkaXNvcmRlcnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1taXN1c2UtZGlzb3JkZXJzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjU6MS0yNToxMzgiIG5hbWU9IlN1YnN0YW5jZSBtaXN1c2UgYmVoYXZpb3JhbCBjb3Vuc2VsaW5nIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9zdWJzdGFuY2UtbWlzdXNlLWJlaGF2aW9yYWwtY291bnNlbGluZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjI2OjEtMjY6MTQwIiBuYW1lPSJDb25kaXRpb25zIGRvY3VtZW50aW5nIHN1YnN0YW5jZSBtaXN1c2UiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtZG9jdW1lbnRpbmctc3Vic3RhbmNlLW1pc3VzZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjI5OjEtMjk6ODYiIG5hbWU9Ik9mZmljZSBWaXNpdCIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2ZmaWNlLXZpc2l0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzA6MS0zMDoxMTYiIG5hbWU9Ik9waW9pZCBjb3Vuc2VsaW5nIHByb2NlZHVyZSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLWNvdW5zZWxpbmctcHJvY2VkdXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzI6MS0zMjoxMTQiIG5hbWU9IkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9iZW56b2RpYXplcGluZS1tZWRpY2F0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjMzOjEtMzM6MTI0IiBuYW1lPSJOb24tb3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ub24tb3Bpb2lkLWRydWctdXJpbmUtc2NyZWVuaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzQ6MS0zNDoxMDIiIG5hbWU9Ik5hbG94b25lIG1lZGljYXRpb25zIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9uYWxveG9uZS1tZWRpY2F0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjM1OjEtMzU6MTMwIiBuYW1lPSJPcGlvaWQgbWlzdXNlIGFzc2Vzc21lbnQgcHJvY2VkdXJlIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtbWlzdXNlLWFzc2Vzc21lbnQtcHJvY2VkdXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzY6MS0zNjoxMTYiIG5hbWU9Ik9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLWRydWctdXJpbmUtc2NyZWVuaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzc6MS0zNzoxMDAiIG5hbWU9Ikhvc3BpY2UgRGlzcG9zaXRpb24iIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2hvc3BpY2UtZGlzcG9zaXRpb24iIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIzODoxLTM4Ojk4IiBuYW1lPSJIb3NwaWNlIEZpbmRpbmcgQ29kZXMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2hvc3BpY2UtZmluZGluZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjM5OjEtMzk6MTAyIiBuYW1lPSJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvaG9zcGljZS1wcm9jZWR1cmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0MDoxLTQwOjEyNCIgbmFtZT0iT2JzZXJ2YXRpb24gQ2F0ZWdvcnkgTGFib3JhdG9yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2JzZXJ2YXRpb24tY2F0ZWdvcnktbGFib3JhdG9yeSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjQxOjEtNDE6MTIyIiBuYW1lPSJPYnNlcnZhdGlvbiBDYXRlZ29yeSBQcm9jZWR1cmUiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29ic2VydmF0aW9uLWNhdGVnb3J5LXByb2NlZHVyZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjQyOjEtNDI6MTAwIiBuYW1lPSJQYWluIHRyZWF0bWVudCBwbGFuIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wYWluLXRyZWF0bWVudC1wbGFuIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDM6MS00MzoxMTIiIG5hbWU9IlBhaW4gbWFuYWdlbWVudCBwcm9jZWR1cmUiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BhaW4tbWFuYWdlbWVudC1wcm9jZWR1cmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0NDoxLTQ0OjEwNCIgbmFtZT0iUERNUCByZXZpZXcgcHJvY2VkdXJlIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wZG1wLXJldmlldy1wcm9jZWR1cmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0NToxLTQ1OjExNCIgbmFtZT0iUERNUCBkYXRhIHJldmlld2VkIGZpbmRpbmciIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BkbXAtZGF0YS1yZXZpZXdlZC1maW5kaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDY6MS00NjoxMTUiIG5hbWU9IkNvY2FpbmUgVXJpbmUgVGVzdHMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvY2FpbmUtdXJpbmUtZHJ1Zy1zY3JlZW5pbmctdGVzdHMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0NzoxLTQ3OjExNyIgbmFtZT0iUENQIFVyaW5lIFRlc3RzIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9waGVuY3ljbGlkaW5lLXVyaW5lLWRydWctc2NyZWVuaW5nLXRlc3RzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDk6MS00OToxMDciIG5hbWU9IkNvbW11bml0eSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnktY29tbXVuaXR5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTA6MS01MDoxMTAiIG5hbWU9IkFjdGl2ZSBDb25kaXRpb24iIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbi1jbGluaWNhbC1zdGF0dXMtYWN0aXZlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTE6MS01MToxMTciIG5hbWU9IkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3Qtc3RhdHVzLWFjdGl2ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjUzOjEtNTM6MTM4IiBuYW1lPSJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLWVuY291bnRlci1kaWFnbm9zaXMtY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI1NDoxLTU0OjEyNCIgbmFtZT0iUHJvYmxlbSBMaXN0IENvbmRpdGlvbiBDYXRlZ29yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXByb2JsZW0tbGlzdC1jYXRlZ29yeSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjU1OjEtNTU6MTQ0IiBuYW1lPSJVUyBDb3JlIEhlYWx0aCBDb25jZXJuIENvbmRpdGlvbiBDYXRlZ29yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXVzLWNvcmUtaGVhbHRoLWNvbmNlcm4tY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgPC92YWx1ZVNldHM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhdG9yPSI1OToxLTU5OjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjU5OjEtNTk6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjU5OjEtNTk6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2MzoxLTY3OjY4IiBuYW1lPSJPcGlvaWQgT3RoZXIgVGhhbiBTeW50aGV0aWMgT3JkZXJlZCBJbiBMYXN0IDEyIE1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjY0OjMtNjc6NjgiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNjQ6My02NDo2MiIgYWxpYXM9Ik1SIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNjQ6My02NDo1OSIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJzdGF0dXMiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjY0OjMzLTY0OjU4IiBuYW1lPSJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiIHByZXNlcnZlPSJ0cnVlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjY1OjctNjc6NjgiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjEzLTY2OjM2IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MTMtNjU6NzEiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTozNy02NTo1MCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MTMtNjU6MzUiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MjMtNjU6MzUiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTozNy02NTo1MCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjY1OjY1LTY1OjcxIiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTo2NS02NTo3MSIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjM3LTY1OjQyIiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhdG9yPSI2NTo2NS02NTo3MSIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTozNy02NTo1MCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjM3LTY1OjUwIiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6NjUtNjU6NzEiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NjoxMS02NjozNiIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjY6MTEtNjY6MjMiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iNjY6MjgtNjY6MzYiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2Njo0MS02Nzo2OCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY2OjQyLTY2OjExMCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjY6NDItNjY6NTQiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iNjY6NTktNjY6MTEwIiBuYW1lPSJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NzoxMS02Nzo2NyIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY3OjE1LTY3OjY3IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NzoxNi02NzoyOCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI2NzozMy02Nzo2NiIgbmFtZT0iTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTM1OjEtMTM4OjM2IiBuYW1lPSJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTM2OjMtMTM4OjM2IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEzNjozLTEzNjoxMCIgYWxpYXM9IlJ4Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTM2OjMtMTM2OjciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjEzNzo1LTEzODozNiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzNzoxMS0xMzc6MzYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzNzoxMS0xMzc6MjUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEzNzoxMS0xMzc6MTkiIHBhdGg9InN0YXR1cyIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMzc6MjktMTM3OjM2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzODoxMS0xMzg6MzYiIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMzg6MTEtMTM4OjIxIiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTM4OjI2LTEzODozNiIgbmFtZT0iQ29tbXVuaXR5IiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTM1OjY4LTEzNTo5MCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2F0b3I9IjEzNTo3My0xMzU6ODkiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2OToxLTg5OjkiIG5hbWU9IkFjdGl2ZSBBbWJ1bGF0b3J5IE9waW9pZCBSeCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjcwOjMtODk6OSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI3MDozLTc1OjYiIGFsaWFzPSJSeCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjcwOjMtNzU6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI3MTo1LTcxOjExMSIgYWxpYXM9Ik1SIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzE6NS03MToxMDgiIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MTo1MC03MToxMDYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ic3RhdHVzIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI3MTo4MC03MToxMDUiIG5hbWU9IkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI3Mjo3LTc0OjM4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MjoxMy03MzozOCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjEzLTcyOjcyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6MzctNzI6NTEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjEzLTcyOjM1IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjIzLTcyOjM1IiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6MzctNzI6NTEiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSI3Mjo2Ni03Mjo3MiIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6NjYtNzI6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MjozNy03Mjo0MyIgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjcyOjY2LTcyOjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjM3LTcyOjUxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6MzctNzI6NTEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Mjo2Ni03Mjo3MiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjczOjEzLTczOjM4IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MzoxMy03MzoyNSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI3MzozMC03MzozOCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjczOjQzLTc0OjM4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzM6NDMtNzM6MTExIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Mzo0My03Mzo1NSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI3Mzo2MC03MzoxMTEiIG5hbWU9Ik9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc0OjEzLTc0OjM4IiB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzQ6MTMtNzQ6MjMiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI3NDoyOC03NDozOCIgbmFtZT0iQ29tbXVuaXR5IiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI3Njo5LTc2Ojk2IiBpZGVudGlmaWVyPSJNZWQiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3NjoxNC03Njo5NiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3NjozMy03Njo5NSIgeHNpOnR5cGU9Ikxhc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijc2OjM5LTc2OjkzIiB4c2k6dHlwZT0iU3BsaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5nVG9TcGxpdCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Njo0NS03Njo4NyIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijc2OjQ1LTc2Ojc3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Njo0Ni03Njo1OCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI3Njo2My03Njo3NiIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJpbmdUb1NwbGl0PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9Ijc2OjkwLTc2OjkyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9Ijc3OjUtNzc6MTA5IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3NzoxMS03Nzo0MSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc3OjE0LTc3OjQxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3NzoxNS03NzoyNyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI3NzozMi03Nzo0MCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc3OjQ2LTc3OjEwOSIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijc3OjQ2LTc3OjUzIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijc3OjQ2LTc3OjQ4IiBuYW1lPSJNZWQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9Ijc3OjU4LTc3OjEwOSIgbmFtZT0iT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSI3ODo3LTg5OjkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3OTo5LTg5OjkiIGNsYXNzVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODA6MTUtODA6MTkiIHBhdGg9ImlkIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MToxOS04MToyNyIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MjoxOS04MjoyNyIgcGF0aD0iaW50ZW50IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgzOjIxLTgzOjMxIiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg0OjIzLTg0OjExMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSI4NDoyNi04NDo1MSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODQ6MjYtODQ6MzgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iODQ6NDMtODQ6NTEiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSI4NDo1OC04NDo3MiIgeHNpOnR5cGU9IkZpcnN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI4NDo2NC04NDo3MSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI4NDo2NC04NDo2NiIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iODQ6NzktODQ6MTEwIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4NDo3OS04NDo5MSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI4NDo5Ni04NDoxMTAiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODU6MjAtODU6MjkiIHBhdGg9InN1YmplY3QiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODY6MjEtODY6MzEiIHBhdGg9InJlY29yZGVyIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZUluc3RydWN0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijg3OjMwLTg3OjQ5IiBwYXRoPSJkb3NhZ2VJbnN0cnVjdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODg6MjgtODg6NDUiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjkxOjEtMTExOjkiIG5hbWU9IkFjdGl2ZSBBbWJ1bGF0b3J5IEJlbnpvZGlhemVwaW5lIFJ4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTI6My0xMTE6OSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5MjozLTk3OjYiIGFsaWFzPSJSeCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjkyOjMtOTc6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5Mzo1LTkzOjExMSIgYWxpYXM9Ik1SIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTM6NS05MzoxMDgiIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5Mzo1MC05MzoxMDYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ic3RhdHVzIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI5Mzo4MC05MzoxMDUiIG5hbWU9IkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI5NDo3LTk2OjM4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NDoxMy05NTozOCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjEzLTk0OjcyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6MzctOTQ6NTEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjEzLTk0OjM1IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjIzLTk0OjM1IiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6MzctOTQ6NTEiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSI5NDo2Ni05NDo3MiIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6NjYtOTQ6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NDozNy05NDo0MyIgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9Ijk0OjY2LTk0OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjM3LTk0OjUxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6MzctOTQ6NTEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NDo2Ni05NDo3MiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk1OjEzLTk1OjM4IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NToxMy05NToyNSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI5NTozMC05NTozOCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk1OjQzLTk2OjM4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTU6NDMtOTU6ODciIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk1OjQzLTk1OjU1IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9Ijk1OjYwLTk1Ojg3IiBuYW1lPSJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NjoxMy05NjozOCIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijk2OjEzLTk2OjIzIiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iOTY6MjgtOTY6MzgiIG5hbWU9IkNvbW11bml0eSIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iOTg6OS05ODo5NiIgaWRlbnRpZmllcj0iTWVkIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTg6MTQtOTg6OTYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTg6MzMtOTg6OTUiIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5ODozOS05ODo5MyIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTg6NDUtOTg6ODciIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5ODo0NS05ODo3NyIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTg6NDYtOTg6NTgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iOTg6NjMtOTg6NzYiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3RyaW5nVG9TcGxpdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlcGFyYXRvciBsb2NhdG9yPSI5ODo5MC05ODo5MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI5OTo1LTk5Ojg1IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5OToxMS05OTo0MSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk5OjE0LTk5OjQxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5OToxNS05OToyNyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI5OTozMi05OTo0MCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk5OjQ2LTk5Ojg1IiB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTk6NDYtOTk6NTMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTk6NDYtOTk6NDgiIG5hbWU9Ik1lZCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iOTk6NTgtOTk6ODUiIG5hbWU9IkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMTAwOjctMTExOjkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMDE6OS0xMTE6OSIgY2xhc3NUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDI6MTUtMTAyOjE5IiBwYXRoPSJpZCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTAzOjE5LTEwMzoyNyIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDQ6MTktMTA0OjI3IiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTA1OjIxLTEwNTozMSIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDY6MjMtMTA2OjExMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIxMDY6MjYtMTA2OjUxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDY6MjYtMTA2OjM4IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjEwNjo0My0xMDY6NTEiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIxMDY6NTgtMTA2OjcyIiB4c2k6dHlwZT0iRmlyc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwNjo2NC0xMDY6NzEiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTA2OjY0LTEwNjo2NiIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMTA2Ojc5LTEwNjoxMTAiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwNjo3OS0xMDY6OTEiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTA2Ojk2LTEwNjoxMTAiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTA3OjIwLTEwNzoyOSIgcGF0aD0ic3ViamVjdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDg6MjEtMTA4OjMxIiBwYXRoPSJyZWNvcmRlciIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDk6MzAtMTA5OjQ5IiBwYXRoPSJkb3NhZ2VJbnN0cnVjdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTEwOjI4LTExMDo0NSIgcGF0aD0iZGlzcGVuc2VSZXF1ZXN0IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTEzOjEtMTMzOjkiIG5hbWU9IkFjdGl2ZSBBbWJ1bGF0b3J5IE5hbG94b25lIFJ4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTE0OjMtMTMzOjkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTE0OjMtMTE5OjYiIGFsaWFzPSJSeCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjExNDozLTExOTozIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjExNTo1LTExNToxMTEiIGFsaWFzPSJNUiI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjExNTo1LTExNToxMDgiIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTU6NTAtMTE1OjEwNiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJzdGF0dXMiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjExNTo4MC0xMTU6MTA1IiBuYW1lPSJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiIHByZXNlcnZlPSJ0cnVlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTE2OjctMTE4OjM4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTY6MTMtMTE3OjM4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjEzLTExNjo3MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjozNy0xMTY6NTEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjoxMy0xMTY6MzUiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjIzLTExNjozNSIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjozNy0xMTY6NTEiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSIxMTY6NjYtMTE2OjcyIiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTY6NjYtMTE2OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjM3LTExNjo0MyIgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjExNjo2Ni0xMTY6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjM3LTExNjo1MSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjozNy0xMTY6NTEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTY6NjYtMTE2OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE3OjEzLTExNzozOCIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE3OjEzLTExNzoyNSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMTc6MzAtMTE3OjM4IiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE3OjQzLTExODozOCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNzo0My0xMTc6ODEiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNzo0My0xMTc6NTUiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTE3OjYwLTExNzo4MSIgbmFtZT0iTmFsb3hvbmUgbWVkaWNhdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE4OjEzLTExODozOCIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjExODoxMy0xMTg6MjMiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxMTg6MjgtMTE4OjM4IiBuYW1lPSJDb21tdW5pdHkiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9IjEyMDo5LTEyMDo5NiIgaWRlbnRpZmllcj0iTWVkIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTIwOjE0LTEyMDo5NiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjA6MzMtMTIwOjk1IiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTIwOjM5LTEyMDo5MyIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIwOjQ1LTEyMDo4NyIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEyMDo0NS0xMjA6NzciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEyMDo0Ni0xMjA6NTgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTIwOjYzLTEyMDo3NiIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJpbmdUb1NwbGl0PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9IjEyMDo5MC0xMjA6OTIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTIxOjUtMTIxOjc5IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjE6MTEtMTIxOjQxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIxOjE0LTEyMTo0MSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIxOjE1LTEyMToyNyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMjE6MzItMTIxOjQwIiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIxOjQ2LTEyMTo3OSIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEyMTo0Ni0xMjE6NTMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTIxOjQ2LTEyMTo0OCIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxMjE6NTgtMTIxOjc5IiBuYW1lPSJOYWxveG9uZSBtZWRpY2F0aW9ucyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjEyMjo3LTEzMzo5Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTIzOjktMTMzOjkiIGNsYXNzVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTI0OjE1LTEyNDoxOSIgcGF0aD0iaWQiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyNToxOS0xMjU6MjciIHBhdGg9InN0YXR1cyIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTI2OjE5LTEyNjoyNyIgcGF0aD0iaW50ZW50IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyNzoyMS0xMjc6MzEiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGljYXRpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTI4OjIzLTEyODoxMTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMTI4OjI2LTEyODo1MSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTI4OjI2LTEyODozOCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMjg6NDMtMTI4OjUxIiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMTI4OjU4LTEyODo3MiIgeHNpOnR5cGU9IkZpcnN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMjg6NjQtMTI4OjcxIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEyODo2NC0xMjg6NjYiIG5hbWU9Ik1lZCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIGxvY2F0b3I9IjEyODo3OS0xMjg6MTEwIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjg6NzktMTI4OjkxIiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjEyODo5Ni0xMjg6MTEwIiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyOToyMC0xMjk6MjkiIHBhdGg9InN1YmplY3QiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTMwOjIxLTEzMDozMSIgcGF0aD0icmVjb3JkZXIiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTMxOjMwLTEzMTo0OSIgcGF0aD0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGVuc2VSZXF1ZXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEzMjoyOC0xMzI6NDUiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjE0MDoxLTE1Nzo3IiBuYW1lPSJJcyBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsPyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQxOjMtMTU3OjciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTQxOjMtMTQxOjEwIiBhbGlhcz0iUngiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNDE6My0xNDE6NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9IjE0Mjo5LTE0Mjo5NiIgaWRlbnRpZmllcj0iTWVkIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQyOjE0LTE0Mjo5NiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDI6MzMtMTQyOjk1IiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTQyOjM5LTE0Mjo5MyIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQyOjQ1LTE0Mjo4NyIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE0Mjo0NS0xNDI6NzciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE0Mjo0Ni0xNDI6NTgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTQyOjYzLTE0Mjo3NiIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJpbmdUb1NwbGl0PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9IjE0Mjo5MC0xNDI6OTIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTQzOjUtMTQ0OjM2IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDM6MTEtMTQzOjQxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQzOjE0LTE0Mzo0MSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQzOjE1LTE0MzoyNyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxNDM6MzItMTQzOjQwIiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQzOjQ2LTE0NDozNiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE0Mzo0Ni0xNDM6MTA5IiB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQzOjQ2LTE0Mzo1MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNDM6NDYtMTQzOjQ4IiBuYW1lPSJNZWQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjE0Mzo1OC0xNDM6MTA5IiBuYW1lPSJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDQ6MTEtMTQ0OjM2IiB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQ0OjExLTE0NDoyMSIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjE0NDoyNi0xNDQ6MzYiIG5hbWU9IkNvbW11bml0eSIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMTQ1OjUtMTU3OjciPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNDY6Ny0xNTc6NyIgY2xhc3NUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNDc6MTMtMTQ3OjE3IiBwYXRoPSJpZCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTQ4OjE3LTE0ODoyNSIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNDk6MTctMTQ5OjI1IiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTUwOjE5LTE1MDoyOSIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTE6MjEtMTUxOjEwOCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIxNTE6MjQtMTUxOjQ5IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTE6MjQtMTUxOjM2IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE1MTo0MS0xNTE6NDkiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIxNTE6NTYtMTUxOjcwIiB4c2k6dHlwZT0iRmlyc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE1MTo2Mi0xNTE6NjkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTUxOjYyLTE1MTo2NCIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMTUxOjc3LTE1MToxMDgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE1MTo3Ny0xNTE6ODkiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTUxOjk0LTE1MToxMDgiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTUyOjE4LTE1MjoyNyIgcGF0aD0ic3ViamVjdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE1MzoyMS0xNTM6MzMiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTU0OjE5LTE1NDoyOSIgcGF0aD0icmVjb3JkZXIiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTU1OjI4LTE1NTo0NyIgcGF0aD0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGVuc2VSZXF1ZXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE1NjoyNi0xNTY6NDMiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE0MDo3OS0xNDA6MTAxIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYXRvcj0iMTQwOjg0LTE0MDoxMDAiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIxNTk6NS0xNzY6MTUiIG5hbWU9IklzIEJlbnpvZGlhemVwaW5lPyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTYwOjctMTc2OjE1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE2MDo3LTE2MDoxNCIgYWxpYXM9IlJ4Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTYwOjctMTYwOjExIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iMTYxOjEzLTE2MToxMDAiIGlkZW50aWZpZXI9Ik1lZCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE2MToxOC0xNjE6MTAwIiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvbiIgY29kZVByb3BlcnR5PSJpZCIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE2MTozNy0xNjE6OTkiIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxNjE6NDMtMTYxOjk3IiB4c2k6dHlwZT0iU3BsaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5nVG9TcGxpdCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjE6NDktMTYxOjkxIiBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTYxOjQ5LTE2MTo4MSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTYxOjUwLTE2MTo2MiIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxNjE6NjctMTYxOjgwIiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N0cmluZ1RvU3BsaXQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgbG9jYXRvcj0iMTYxOjk0LTE2MTo5NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSIxNjI6OS0xNjM6NDAiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE2MjoxNS0xNjI6NDUiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjI6MTgtMTYyOjQ1IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjI6MTktMTYyOjMxIiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE2MjozNi0xNjI6NDQiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjI6NTAtMTYzOjQwIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTYyOjUwLTE2Mjo4OSIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE2Mjo1MC0xNjI6NTciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTYyOjUwLTE2Mjo1MiIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxNjI6NjItMTYyOjg5IiBuYW1lPSJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjM6MTUtMTYzOjQwIiB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTYzOjE1LTE2MzoyNSIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjE2MzozMC0xNjM6NDAiIG5hbWU9IkNvbW11bml0eSIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMTY0OjktMTc2OjE1Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTY1OjE1LTE3NjoxNSIgY2xhc3NUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNjY6MjEtMTY2OjI1IiBwYXRoPSJpZCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTY3OjI1LTE2NzozMyIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNjg6MjUtMTY4OjMzIiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTY5OjI3LTE2OTozNyIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNzA6MjktMTcwOjExNiIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIxNzA6MzItMTcwOjU3IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNzA6MzItMTcwOjQ0IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE3MDo0OS0xNzA6NTciIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIxNzA6NjQtMTcwOjc4IiB4c2k6dHlwZT0iRmlyc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE3MDo3MC0xNzA6NzciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTcwOjcwLTE3MDo3MiIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMTcwOjg1LTE3MDoxMTYiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3MDo4NS0xNzA6OTciIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTcwOjEwMi0xNzA6MTE2IiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE3MToyNi0xNzE6MzUiIHBhdGg9InN1YmplY3QiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNzI6MjktMTcyOjQxIiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE3MzoyNy0xNzM6MzciIHBhdGg9InJlY29yZGVyIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZUluc3RydWN0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE3NDozNi0xNzQ6NTUiIHBhdGg9ImRvc2FnZUluc3RydWN0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BlbnNlUmVxdWVzdCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNzU6MzQtMTc1OjUxIiBwYXRoPSJkaXNwZW5zZVJlcXVlc3QiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxNTk6NDgtMTU5OjcwIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYXRvcj0iMTU5OjUzLTE1OTo2OSIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjE5MjoxLTE5NTo3OCIgbmFtZT0iVVMgQ29yZS1DYXRlZ29yaXplZCBDb25kaXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTkzOjMtMTk1Ojc4IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxOTM6My0xOTQ6NjgiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE5MzozLTE5Mzo2NyIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNhdGVnb3J5IiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxOTM6MjctMTkzOjY2IiBuYW1lPSJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE5NDoxMS0xOTQ6NjgiIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0NvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjYXRlZ29yeSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMTk0OjM1LTE5NDo2NyIgbmFtZT0iUHJvYmxlbSBMaXN0IENvbmRpdGlvbiBDYXRlZ29yeSIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTk1OjExLTE5NTo3OCIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNhdGVnb3J5IiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxOTU6MzUtMTk1Ojc3IiBuYW1lPSJVUyBDb3JlIEhlYWx0aCBDb25jZXJuIENvbmRpdGlvbiBDYXRlZ29yeSIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTk3OjEtMjA4OjMiIG5hbWU9IkNvbmRpdGlvbnMgSW5kaWNhdGluZyBFbmQgb2YgTGlmZSBvciBXaXRoIExpbWl0ZWQgTGlmZSBFeHBlY3RhbmN5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTk4OjMtMjA4OjMiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE5ODozLTIwMjozIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE5OTo1LTE5OTozOCIgYWxpYXM9IkMiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxOTk6NS0xOTk6MzYiIG5hbWU9IlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSIyMDA6Ny0yMDE6NTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMDA6MTMtMjAwOjczIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMDA6MTMtMjAwOjE4IiBwYXRoPSJjb2RlIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjIwMDoyMy0yMDA6NzMiIG5hbWU9IkNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmciIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjAxOjEzLTIwMTo1MCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjAxOjEzLTIwMToyOCIgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMjAxOjMzLTIwMTo1MCIgbmFtZT0iQWN0aXZlIENvbmRpdGlvbiIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIwNDozLTIwODozIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjIwNTo1LTIwNTozOCIgYWxpYXM9IkMiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyMDU6NS0yMDU6MzYiIG5hbWU9IlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSIyMDY6Ny0yMDc6NTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMDY6MTMtMjA2OjU4IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMDY6MTMtMjA2OjE4IiBwYXRoPSJjb2RlIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjIwNjoyMy0yMDY6NTgiIG5hbWU9IkxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5IGNvbmRpdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjA3OjEzLTIwNzo1MCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjA3OjEzLTIwNzoyOCIgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMjA3OjMzLTIwNzo1MCIgbmFtZT0iQWN0aXZlIENvbmRpdGlvbiIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzYwOjItMzYyOjEzIiBuYW1lPSJTZXJ2aWNlIFJlcXVlc3RzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzYxOjQtMzYyOjEzIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjM2MTo0LTM2MToyMiIgYWxpYXM9IlNSIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzYxOjQtMzYxOjE5IiBkYXRhVHlwZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1NlcnZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMzYyOjUtMzYyOjEzIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzYyOjEyLTM2MjoxMyIgbmFtZT0iU1IiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIyMTA6MS0yNDA6MyIgbmFtZT0iQWRtaXR0ZWQvUmVmZXJyZWQvRGlzY2hhcmdlZCB0byBIb3NwaWNlIENhcmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyMTE6My0yNDA6MyIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjExOjMtMjIwOjMiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxMTozLTIxNDozIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjIxMjo1LTIxMjo1MiIgYWxpYXM9IlAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyMTI6NS0yMTI6NTAiIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1Byb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIyMTI6MjUtMjEyOjQ5IiBuYW1lPSJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMjEzOjctMjEzOjYwIiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTM6MTMtMjEzOjI2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMTM6MTMtMjEzOjIwIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTM6MzEtMjEzOjYwIiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjIxMzozMy0yMTM6NDUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJpbi1wcm9ncmVzcyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjEzOjQ4LTIxMzo1OCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlNlcnZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjE2OjMtMjIwOjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjE3OjUtMjE3OjI1IiBhbGlhcz0iU1IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyMTc6NS0yMTc6MjIiIG5hbWU9IlNlcnZpY2UgUmVxdWVzdHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMjE4OjctMjE5OjU2IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjE4OjEzLTIxODo0OCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjE4OjEzLTIxODoxOSIgcGF0aD0iY29kZSIgc2NvcGU9IlNSIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMjE4OjI0LTIxODo0OCIgbmFtZT0iSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjE5OjEzLTIxOTo1NiIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjE5OjEzLTIxOToyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjE5OjEzLTIxOToyMSIgcGF0aD0ic3RhdHVzIiBzY29wZT0iU1IiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxOTozMi0yMTk6NTYiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjE5OjM0LTIxOTo0MSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjE5OjQ0LTIxOTo1NCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlNlcnZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjIyOjMtMjI4OjMiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMjIzOjgtMjIzOjUyIiBuYW1lPSJIb3NwaWNlIEZpbmRpbmdzIEV4Y2x1c2lvbiBFbmFibGVkIiBsaWJyYXJ5TmFtZT0iQ29uZmlnIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIyMjQ6Ny0yMjU6ODQiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjI0OjctMjI0OjU0IiBhbGlhcz0iTyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIyNDo3LTIyNDo1MiIgZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIyMjQ6MjktMjI0OjUxIiBuYW1lPSJIb3NwaWNlIEZpbmRpbmcgQ29kZXMiIHByZXNlcnZlPSJ0cnVlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjIyNTo5LTIyNTo4NCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyNToxOS0yMjU6ODQiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyNToyMC0yMjU6MzMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjIyNToyMC0yMjU6MjciIHBhdGg9InN0YXR1cyIgc2NvcGU9Ik8iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyNTozOC0yMjU6ODMiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjI1OjQwLTIyNTo0OCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InVua25vd24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjIyNTo1MS0yMjU6NjgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJlbnRlcmVkLWluLWVycm9yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyMjU6NzEtMjI1OjgxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY2FuY2VsbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIyMjc6Ny0yMjc6OCIgeHNpOnR5cGU9Ikxpc3QiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlNlcnZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzA6My0yNDA6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMzE6NS0yMzE6MTciIGFsaWFzPSJFIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjMxOjUtMjMxOjE1IiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9FbmNvdW50ZXIiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjIzMjo3LTIzOTo5MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIzMjoxMy0yMzg6OSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIzMjoxMy0yMzI6NzIiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzI6MzgtMjMyOjUxIiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzI6MTMtMjMyOjM2IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIzMjoyMy0yMzI6MzYiIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjIzMjoyMy0yMzI6MzAiIHBhdGg9InBlcmlvZCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzI6MzgtMjMyOjUxIiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMjMyOjY2LTIzMjo3MiIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjMyOjY2LTIzMjo3MiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIzMjozOC0yMzI6NDMiIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjIzMjo2Ni0yMzI6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjMyOjM4LTIzMjo1MSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIzMjozOC0yMzI6NTEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzI6NjYtMjMyOjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjMzOjEzLTIzODo5IiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2F0b3I9IjIzNDoxNC0yMzU6NzUiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIzNDoxNC0yMzQ6NjYiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzQ6MTQtMjM0OjU4IiBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjM0OjE0LTIzNDo1MSIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjM0OjE0LTIzNDozMCIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM1OjE4LTIzNTo3NSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIzNToyMi0yMzU6NzUiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzU6MjktMjM1Ojc1IiBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjM1OjMwLTIzNTo2NyIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjM1OjMwLTIzNTo0NiIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMjM2OjE4LTIzNjoyMiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMjM3OjE2LTIzNzo3OCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM3OjE2LTIzNzo1MyIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjM3OjE2LTIzNzozMiIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMjM3OjU4LTIzNzo3OCIgbmFtZT0iSG9zcGljZSBEaXNwb3NpdGlvbiIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM5OjEzLTIzOTo5MiIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM5OjEzLTIzOToyNiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjM5OjEzLTIzOToyMCIgcGF0aD0ic3RhdHVzIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM5OjMxLTIzOTo5MiIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyMzk6MzMtMjM5OjQxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icGxhbm5lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjM5OjQ0LTIzOTo1MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFycml2ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjIzOTo1NS0yMzk6NjciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJpbi1wcm9ncmVzcyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjM5OjcwLTIzOTo3OSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyMzk6ODItMjM5OjkwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib25sZWF2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTc4OjEtMTg2OjUiIG5hbWU9IkVuZCBvZiBMaWZlIEFzc2Vzc21lbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxODA6NS0xODY6NSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTgwOjUtMTgyOjUiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxODA6MTItMTgyOjUiIG5hbWU9IkNvbmRpdGlvbnMgSW5kaWNhdGluZyBFbmQgb2YgTGlmZSBvciBXaXRoIExpbWl0ZWQgTGlmZSBFeHBlY3RhbmN5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE4NDo4LTE4Njo1IiB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTg0OjE1LTE4Njo1IiBuYW1lPSJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjI2NzoxLTI2ODozNiIgbmFtZT0iUHJldmlvdXMgMTAgRGF5cyBJbnRlcnZhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjI2ODoxLTI2ODozNiIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2F0b3I9IjI2ODoxMC0yNjg6MjYiIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2ODoxMC0yNjg6MTYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNjg6MjAtMjY4OjI2IiB2YWx1ZT0iMTAiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjY4OjI5LTI2ODozNSIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjcwOjEtMjcxOjQ4IiBuYW1lPSJGaXJzdCBNb250aCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjI3MToxLTI3MTo0OCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2F0b3I9IjI3MToxMC0yNzE6MjciIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI3MToxMC0yNzE6MTYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNzE6MjAtMjcxOjI3IiB2YWx1ZT0iMyIgdW5pdD0ibW9udGhzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjI3MTozMC0yNzE6NDciIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI3MTozMC0yNzE6MzYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNzE6NDAtMjcxOjQ3IiB2YWx1ZT0iMiIgdW5pdD0ibW9udGhzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjI3MzoxLTI3NDo0OCIgbmFtZT0iU2Vjb25kIE1vbnRoIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjc0OjEtMjc0OjQ4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMjc0OjEwLTI3NDoyNyIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjc0OjEwLTI3NDoxNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI3NDoyMC0yNzQ6MjciIHZhbHVlPSIyIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjc0OjMwLTI3NDo0NyIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjc0OjMwLTI3NDozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI3NDo0MC0yNzQ6NDciIHZhbHVlPSIxIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjc2OjEtMjc3OjM3IiBuYW1lPSJUaGlyZCBNb250aCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjI3NzoxLTI3NzozNyIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2F0b3I9IjI3NzoxMC0yNzc6MjciIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI3NzoxMC0yNzc6MTYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNzc6MjAtMjc3OjI3IiB2YWx1ZT0iMSIgdW5pdD0ibW9udGhzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjI3NzozMC0yNzc6MzYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjMwODoxLTMyMjo3IiBuYW1lPSJHZXREdXJhdGlvbkluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzA5OjMtMzIyOjciIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMzA5OjYtMzA5OjE4IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzA5OjYtMzA5OjEwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpEZWNpbWFsIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMDk6MjUtMzA5OjI4IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2F0b3I9IjMxMTo1LTMyMjo3IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIzMTI6Ny0zMTI6NjQiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIzMTI6MTItMzEyOjMzIiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxMjoxMi0zMTI6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMxMjoxMi0zMTI6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzEyOjEyLTMxMjoxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxMjozMS0zMTI6MzMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjMxMjo0MC0zMTI6NjQiIHhzaTp0eXBlPSJNdWx0aXBseSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxMjo0MC0zMTI6NTYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMxMjo0MC0zMTI6NTAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMxMjo0MC0zMTI6NDQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTI6NjAtMzEyOjY0IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjM2NS4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIzMTM6Ny0zMTM6NjQiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIzMTM6MTItMzEzOjM0IiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxMzoxMi0zMTM6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMxMzoxMi0zMTM6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzEzOjEyLTMxMzoxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxMzozMS0zMTM6MzQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtbyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIzMTM6NDEtMzEzOjY0IiB4c2k6dHlwZT0iTXVsdGlwbHkiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTM6NDEtMzEzOjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTM6NDEtMzEzOjUxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTM6NDEtMzEzOjQ1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzEzOjYxLTMxMzo2NCIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSIzMC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIzMTQ6Ny0zMTQ6NjMiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIzMTQ6MTItMzE0OjM0IiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxNDoxMi0zMTQ6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMxNDoxMi0zMTQ6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzE0OjEyLTMxNDoxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxNDozMS0zMTQ6MzQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJ3ayIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIzMTQ6NDEtMzE0OjYzIiB4c2k6dHlwZT0iTXVsdGlwbHkiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTQ6NDEtMzE0OjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTQ6NDEtMzE0OjUxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTQ6NDEtMzE0OjQ1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE0OjYxLTMxNDo2MyIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI3LjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMxNTo3LTMxNTo1NiI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMxNToxMi0zMTU6MzMiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE1OjEyLTMxNToyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzE1OjEyLTMxNToyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTU6MTItMzE1OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE1OjMxLTMxNTozMyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMzE1OjQwLTMxNTo1NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzE1OjQwLTMxNTo1MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzE1OjQwLTMxNTo0NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIzMTY6Ny0zMTY6NjMiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIzMTY6MTItMzE2OjMzIiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxNjoxMi0zMTY6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMxNjoxMi0zMTY6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzE2OjEyLTMxNjoxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxNjozMS0zMTY6MzMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJoIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjMxNjo0MC0zMTY6NjMiIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTY6NDAtMzE2OjU2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTY6NDAtMzE2OjUwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTY6NDAtMzE2OjQ0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE2OjYwLTMxNjo2MyIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSIyNC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIzMTc6Ny0zMTc6NzIiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIzMTc6MTItMzE3OjM1IiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxNzoxMi0zMTc6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMxNzoxMi0zMTc6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzE3OjEyLTMxNzoxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxNzozMS0zMTc6MzUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtaW4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMzE3OjQyLTMxNzo3MiIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxNzo0Mi0zMTc6NjUiIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTc6NDItMzE3OjU4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTc6NDItMzE3OjUyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTc6NDItMzE3OjQ2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE3OjYyLTMxNzo2NSIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI2MC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxNzo2OS0zMTc6NzIiIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iMjQuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYXRvcj0iMzE4OjctMzE4Ojc3Ij4KICAgICAgICAgICAgICAgICAgPHdoZW4gbG9jYXRvcj0iMzE4OjEyLTMxODozMyIgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTg6MTItMzE4OjI3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTg6MTItMzE4OjIxIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMxODoxMi0zMTg6MTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTg6MzEtMzE4OjMzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIzMTg6NDAtMzE4Ojc3IiB4c2k6dHlwZT0iRGl2aWRlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE4OjQwLTMxODo3MCIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxODo0MC0zMTg6NjMiIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTg6NDAtMzE4OjU2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTg6NDAtMzE4OjUwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTg6NDAtMzE4OjQ0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE4OjYwLTMxODo2MyIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI2MC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxODo2Ny0zMTg6NzAiIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iNjAuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTg6NzQtMzE4Ojc3IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjI0LjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMxOTo3LTMxOTo4NyI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMxOToxMi0zMTk6MzQiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE5OjEyLTMxOToyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzE5OjEyLTMxOToyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTk6MTItMzE5OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE5OjMxLTMxOTozNCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1zIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjMxOTo0MS0zMTk6ODciIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTk6NDEtMzE5Ojc4IiB4c2k6dHlwZT0iRGl2aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE5OjQxLTMxOTo3MSIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxOTo0MS0zMTk6NjQiIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTk6NDEtMzE5OjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTk6NDEtMzE5OjUxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMTk6NDEtMzE5OjQ1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE5OjYxLTMxOTo2NCIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI2MC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxOTo2OC0zMTk6NzEiIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iNjAuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTk6NzUtMzE5Ojc4IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjI0LjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE5OjgyLTMxOTo4NyIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSIxMDAwLjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMyMDo3LTMyMDoxMTIiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIzMjA6MTItMzIwOjM1IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzIwOjEyLTMyMDoyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzIwOjEyLTMyMDoyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjA6MTItMzIwOjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iVG9EZWNpbWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzIwOjQyLTMyMDoxMTIiIHhzaTp0eXBlPSJNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjA6NTAtMzIwOjUzIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEwMDAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMzIwOjU2LTMyMDo1OSIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBsb2NhdG9yPSIzMjA6NjItMzIwOjcyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iVW5kZWZpbmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYXRvcj0iMzIwOjc1LTMyMDo4MSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkVycm9yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8bWVzc2FnZSBsb2NhdG9yPSIzMjA6ODQtMzIwOjExMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkR1cmF0aW9uIHVuaXQgY29kZSBpcyBudWxsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IlRvRGVjaW1hbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyMToxMi0zMjE6MTA3IiB4c2k6dHlwZT0iTWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzIxOjIwLTMyMToyMyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMDAwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2F0b3I9IjMyMToyNi0zMjE6MjkiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbG9jYXRvcj0iMzIxOjMyLTMyMTo0MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlVuZGVmaW5lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPHNldmVyaXR5IGxvY2F0b3I9IjMyMTo0NS0zMjE6NTEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJFcnJvciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPG1lc3NhZ2UgbG9jYXRvcj0iMzIxOjU0LTMyMToxMDYiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyMTo1NC0zMjE6ODciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJVbnN1cHBvcnRlZCBkdXJhdGlvbiB1bml0IGNvZGU6ICIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzIxOjkxLTMyMToxMDYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyMTo5MS0zMjE6MTAwIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyMTo5MS0zMjE6OTUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L21lc3NhZ2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMzA4OjQxLTMwODo1MyIgbmFtZT0iZmhpcjpEdXJhdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjI4NDoxLTI5MzoxMSIgbmFtZT0iUHJlc2NyaXB0aW9uIFJlbGV2YW50IFBlcmlvZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjg1OjMtMjkzOjExIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2F0b3I9IjI4NTo2LTI4ODozIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg2OjUtMjg2Ojg0IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg2OjUtMjg2OjM5IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg2OjUtMjg2OjM5IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg2OjUtMjg2OjI3IiBwYXRoPSJhdXRob3JlZE9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI4Njo1LTI4NjoxNiIgbmFtZT0icHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODY6NDUtMjg2Ojg0IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg2OjQ1LTI4Njo4NCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4Njo0NS0yODY6NzIiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyODY6NDUtMjg2OjU2IiBuYW1lPSJwcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg3OjExLTI4Nzo3MyIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4NzoxMS0yODc6NzMiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODc6MTEtMjg3OjYxIiBwYXRoPSJleHBlY3RlZFN1cHBseUR1cmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI4NzoxMS0yODc6MzgiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyODc6MTEtMjg3OjIyIiBuYW1lPSJwcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMjg5OjgtMjkyOjMiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSIyOTA6NS0yOTA6MzciIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkwOjE1LTI5MDozNyIgcGF0aD0iYXV0aG9yZWRPbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyOTA6MTUtMjkwOjI2IiBuYW1lPSJwcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjkxOjUtMjkxOjE1MCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5MTo1LTI5MTozNyIgeHNpOnR5cGU9IkRhdGVGcm9tIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTE6MTUtMjkxOjM3IiBwYXRoPSJhdXRob3JlZE9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI5MToxNS0yOTE6MjYiIG5hbWU9InByZXNjcmlwdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkxOjQxLTI5MToxNTAiIGNsYXNzVHlwZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMjkxOjY1LTI5MToxMzQiIG5hbWU9IkdldER1cmF0aW9uSW5EYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTE6ODMtMjkxOjEzMyIgcGF0aD0iZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyOTE6ODMtMjkxOjExMCIgcGF0aD0iZGlzcGVuc2VSZXF1ZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI5MTo4My0yOTE6OTQiIG5hbWU9InByZXNjcmlwdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjI5MToxNDMtMjkxOjE0OCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRheXMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkzOjgtMjkzOjExIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InByZXNjcmlwdGlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIyODQ6NjEtMjg0OjgyIiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjk1OjEtMzA0OjMiIG5hbWU9IkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyOTY6My0zMDQ6MyIgeHNpOnR5cGU9IlN1bSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjk3OjUtMzAzOjgxIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI5Nzo1LTMwMjoyMyIgYWxpYXM9Ik9waW9pZFVzZUludGVydmFsIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjk3OjUtMzAyOjUiIHhzaTp0eXBlPSJDb2xsYXBzZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5ODoxNi0zMDE6NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyOTk6OS0yOTk6MTAwIiBhbGlhcz0iT3Bpb2lkUHJlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjk5OjktMjk5OjgxIiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjI5OToyOS0yOTk6ODAiIG5hbWU9Ik9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBwcmVzZXJ2ZT0idHJ1ZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMzAwOjktMzAwOjg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzAwOjE2LTMwMDo4NCIgeHNpOnR5cGU9IkludGVyc2VjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMwMDoxNi0zMDA6NjciIG5hbWU9IlByZXNjcmlwdGlvbiBSZWxldmFudCBQZXJpb2QiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMwMDo0OC0zMDA6NjUiIG5hbWU9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzAwOjc5LTMwMDo4NCIgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHJlc3VsdFR5cGVOYW1lPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjMwMzo3LTMwMzo4MSI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjMwMzoxNC0zMDM6ODEiIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzAzOjI3LTMwMzo1MiIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzAzOjM2LTMwMzo1MiIgbmFtZT0iT3Bpb2lkVXNlSW50ZXJ2YWwiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMwMzo1OC0zMDM6ODEiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMDM6NjUtMzAzOjgxIiBuYW1lPSJPcGlvaWRVc2VJbnRlcnZhbCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjI5NTo1Ni0yOTU6NjkiIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlIGxvY2F0b3I9IjI5NTo2NS0yOTU6NjgiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjI3OToxLTI4Mjo2MCIgbmFtZT0iUHJlc2NyaWJlZCBPcGlvaWRzIGZvciAyMSBvciBtb3JlIG9mIDMwIERheXMgZm9yIGVhY2ggb2YgdGhlIHBhc3QgMyBNb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyODA6My0yODI6NjAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODA6My0yODE6NjEiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODA6My0yODA6NTQiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4MDozLTI4MDo0OCIgbmFtZT0iRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4MDozNS0yODA6NDciIG5hbWU9IkZpcnN0IE1vbnRoIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4MDo1My0yODA6NTQiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgxOjktMjgxOjYxIiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODE6OS0yODE6NTUiIG5hbWU9IkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODE6NDEtMjgxOjU0IiBuYW1lPSJTZWNvbmQgTW9udGgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgxOjYwLTI4MTo2MSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4Mjo5LTI4Mjo2MCIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgyOjktMjgyOjU0IiBuYW1lPSJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgyOjQxLTI4Mjo1MyIgbmFtZT0iVGhpcmQgTW9udGgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgyOjU5LTI4Mjo2MCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjMzMToxLTM0MDo3IiBuYW1lPSJDb2RpbmdUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzMyOjMtMzQwOjciIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMzMyOjYtMzMyOjIxIiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMyOjctMzMyOjEyIiBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzM6OC0zMzM6MTEiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMzM1OjUtMzQwOjciIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzNTo1LTMzOTozNCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzM1OjUtMzM5OjE3IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzU6NS0zMzg6MzQiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzNTo1LTMzODoxNyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzM1OjUtMzM3OjMyIiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzU6NS0zMzc6MTYiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzNTo1LTMzNjoyOCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzM1OjUtMzM2OjE0IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzU6NS0zMzU6MTIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDb2RlIHsiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzM2OjctMzM2OjE0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29kZTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzY6MTgtMzM2OjI4IiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzNjoxOC0zMzY6MjMiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzNzo3LTMzNzoxNiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InN5c3RlbTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzc6MjAtMzM3OjMyIiBwYXRoPSJzeXN0ZW0iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzM3OjIwLTMzNzoyNSIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzM4OjctMzM4OjE3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0idmVyc2lvbjogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzg6MjEtMzM4OjM0IiBwYXRoPSJ2ZXJzaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzODoyMS0zMzg6MjYiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzOTo3LTMzOToxNyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRpc3BsYXk6ICIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzM5OjIxLTMzOTozNCIgcGF0aD0iZGlzcGxheSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMzk6MjEtMzM5OjI2IiBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDA6NS0zNDA6NyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9In0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvZGluZyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIzMzE6MzktMzMxOjQ5IiBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjM0MjoxLTM1MDo5IiBuYW1lPSJDb2RlYWJsZUNvbmNlcHRUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzQzOjMtMzUwOjkiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMzQzOjYtMzQzOjQ4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDM6Ny0zNDM6MjEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDM6Ny0zNDM6MTMiIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQzOjI2LTM0Mzo0NyIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0MzoyNi0zNDM6MzkiIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzNDM6MjYtMzQzOjMyIiBuYW1lPSJjb25jZXB0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpTdHJpbmciIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0NDo4LTM0NDoxMSIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIzNDY6NS0zNTA6OSIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQ2OjUtMzQ5OjExIiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDY6NS0zNDg6NzMiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0Njo1LTM0NzoxNyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQ2OjUtMzQ2OjIzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iQ29kZWFibGVDb25jZXB0IHsiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQ3OjctMzQ3OjE3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iQ29kaW5nOiBbIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDg6OS0zNDg6NzMiIHhzaTp0eXBlPSJDb21iaW5lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzNDg6MTctMzQ4OjY3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjM0ODoxNy0zNDg6MzciIGFsaWFzPSJDb2RpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNDg6MTctMzQ4OjMwIiBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIzNDg6MzktMzQ4OjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzQ4OjQ2LTM0ODo2NyIgbmFtZT0iQ29kaW5nVG9TdHJpbmciIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0ODo2MS0zNDg6NjYiIG5hbWU9IkNvZGluZyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9IjM0ODo3MC0zNDg6NzIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0OTo5LTM0OToxMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Il0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1MDo3LTM1MDo5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ifSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29uY2VwdCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIzNDI6NDktMzQyOjY4IiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjMyNzoxLTMyODo0NiIgbmFtZT0iQ29kZWFibGVDb25jZXB0c1RvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzMjg6My0zMjg6NDYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI4OjMtMzI4OjEyIiBhbGlhcz0iYyI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjMyODozLTMyODoxMCIgbmFtZT0iY29uY2VwdHMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjMyODoxNC0zMjg6NDYiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzMjg6MjEtMzI4OjQ2IiBuYW1lPSJDb2RlYWJsZUNvbmNlcHRUb1N0cmluZyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI4OjQ1IiBuYW1lPSJjIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0cyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIzMjc6NTEtMzI3Ojc2IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYXRvcj0iMzI3OjU2LTMyNzo3NSIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIzNTI6MS0zNTM6MzkiIG5hbWU9IlRvQ29kZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjM1MzozLTM1MzozOSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzNTM6My0zNTM6MTAiIGFsaWFzPSJjIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzUzOjMtMzUzOjgiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMzUzOjEyLTM1MzozOSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjM1MzoxOS0zNTM6MzkiIG5hbWU9IlRvQ29kZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTM6MzgiIG5hbWU9ImMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvZGluZyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIzNTI6MzItMzUyOjQ4IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYXRvcj0iMzUyOjM3LTM1Mjo0NyIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIzNTU6MS0zNTg6MyIgbmFtZT0iVG9SeE5vcm1Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNTY6My0zNTg6MyIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTY6MTgtMzU4OjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzU3OjUtMzU3OjEyIiBhbGlhcz0iQyI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjM1Nzo1LTM1NzoxMCIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjM1NzoxNC0zNTc6NzUiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1NzoyMC0zNTc6MjciIHBhdGg9InN5c3RlbSIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1NzozMS0zNTc6NzUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kaW5nIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjM1NTozNy0zNTU6NTMiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhdG9yPSIzNTU6NDItMzU1OjUyIiBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K" + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjQiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSI3NiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iNzYiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9Ijk4IiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSI5OCIgZW5kQ2hhcj0iOTYiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIGxpYnJhcnlTeXN0ZW09Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiIGxpYnJhcnlJZD0iT3Bpb2lkQ0RTQ29tbW9uIiBsaWJyYXJ5VmVyc2lvbj0iMC4xLjEiIHN0YXJ0TGluZT0iMTIwIiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSIxMjAiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9IjE0MiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iMTQyIiBlbmRDaGFyPSI5NiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSIxNjciIHN0YXJ0Q2hhcj0iMTgiIGVuZExpbmU9IjE2NyIgZW5kQ2hhcj0iMTAwIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8aWRlbnRpZmllciBpZD0iT3Bpb2lkQ0RTQ29tbW9uIiBzeXN0ZW09Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiIHZlcnNpb249IjAuMS4xIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzoxLTM6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSIvPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2F0b3I9IjU6MS01OjU0IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjY6MS02OjU2IiBsb2NhbElkZW50aWZpZXI9Ik9NVEtMb2dpYyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PTVRLTG9naWNNSzIwMjAiIHZlcnNpb249IjAuMS4xIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzoxLTc6NTkiIGxvY2FsSWRlbnRpZmllcj0iQ29uZmlnIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU0NvbW1vbkNvbmZpZyIgdmVyc2lvbj0iMC4xLjEiLz4KICAgPC9pbmNsdWRlcz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2F0b3I9Ijk6MS05OjM4IiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxMDoxLTEwOjQ1IiBuYW1lPSJTTk9NRUQiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgIDwvY29kZVN5c3RlbXM+CiAgIDx2YWx1ZVNldHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTM6MS0xMzoxNjIiIG5hbWU9Ik9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtYW5hbGdlc2ljcy13aXRoLWFtYnVsYXRvcnktbWlzdXNlLXBvdGVudGlhbCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjE0OjEtMTQ6MTc0IiBuYW1lPSJFeHRlbmRlZCByZWxlYXNlIG9waW9pZCB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvZXh0ZW5kZWQtcmVsZWFzZS1vcGlvaWQtd2l0aC1hbWJ1bGF0b3J5LW1pc3VzZS1wb3RlbnRpYWwiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxNToxLTE1OjE0MCIgbmFtZT0iQnVwcmVub3JwaGluZSBhbmQgbWV0aGFkb25lIG1lZGljYXRpb25zIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9idXByZW5vcnBoaW5lLWFuZC1tZXRoYWRvbmUtbWVkaWNhdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxNjoxLTE2OjEyNiIgbmFtZT0iTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L25vbi1zeW50aGV0aWMtb3Bpb2lkLW1lZGljYXRpb25zIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTk6MS0xOToxMzAiIG5hbWU9IkxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5IGNvbmRpdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2xpbWl0ZWQtbGlmZS1leHBlY3RhbmN5LWNvbmRpdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIyMDoxLTIwOjEzNiIgbmFtZT0iVGhlcmFwaWVzIGluZGljYXRpbmcgZW5kIG9mIGxpZmUgY2FyZSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvdGhlcmFwaWVzLWluZGljYXRpbmctZW5kLW9mLWxpZmUtY2FyZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjIxOjEtMjE6MTYwIiBuYW1lPSJDb25kaXRpb25zIGxpa2VseSB0ZXJtaW5hbCBmb3Igb3Bpb2lkIHByZXNjcmliaW5nIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb25zLWxpa2VseS10ZXJtaW5hbC1mb3Itb3Bpb2lkLXByZXNjcmliaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjI6MS0yMjoxMjQiIG5hbWU9IkNEQyBtYWxpZ25hbnQgY2FuY2VyIGNvbmRpdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NkYy1tYWxpZ25hbnQtY2FuY2VyLWNvbmRpdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIyMzoxLTIzOjEzMSIgbmFtZT0iT25jb2xvZ3kgc3BlY2lhbHR5IGRlc2lnbmF0aW9ucyAoTlVDQykiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29uY29sb2d5LXNwZWNpYWx0eS1kZXNpZ25hdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIyNDoxLTI0OjEwOCIgbmFtZT0iT3Bpb2lkIG1pc3VzZSBkaXNvcmRlcnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1taXN1c2UtZGlzb3JkZXJzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjU6MS0yNToxMzgiIG5hbWU9IlN1YnN0YW5jZSBtaXN1c2UgYmVoYXZpb3JhbCBjb3Vuc2VsaW5nIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9zdWJzdGFuY2UtbWlzdXNlLWJlaGF2aW9yYWwtY291bnNlbGluZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjI2OjEtMjY6MTQwIiBuYW1lPSJDb25kaXRpb25zIGRvY3VtZW50aW5nIHN1YnN0YW5jZSBtaXN1c2UiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtZG9jdW1lbnRpbmctc3Vic3RhbmNlLW1pc3VzZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjI5OjEtMjk6ODYiIG5hbWU9Ik9mZmljZSBWaXNpdCIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2ZmaWNlLXZpc2l0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzA6MS0zMDoxMTYiIG5hbWU9Ik9waW9pZCBjb3Vuc2VsaW5nIHByb2NlZHVyZSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLWNvdW5zZWxpbmctcHJvY2VkdXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzI6MS0zMjoxMTQiIG5hbWU9IkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9iZW56b2RpYXplcGluZS1tZWRpY2F0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjMzOjEtMzM6MTI0IiBuYW1lPSJOb24tb3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ub24tb3Bpb2lkLWRydWctdXJpbmUtc2NyZWVuaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzQ6MS0zNDoxMDIiIG5hbWU9Ik5hbG94b25lIG1lZGljYXRpb25zIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9uYWxveG9uZS1tZWRpY2F0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjM1OjEtMzU6MTMwIiBuYW1lPSJPcGlvaWQgbWlzdXNlIGFzc2Vzc21lbnQgcHJvY2VkdXJlIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtbWlzdXNlLWFzc2Vzc21lbnQtcHJvY2VkdXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzY6MS0zNjoxMTYiIG5hbWU9Ik9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLWRydWctdXJpbmUtc2NyZWVuaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzc6MS0zNzoxMDAiIG5hbWU9Ikhvc3BpY2UgRGlzcG9zaXRpb24iIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2hvc3BpY2UtZGlzcG9zaXRpb24iIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIzODoxLTM4Ojk4IiBuYW1lPSJIb3NwaWNlIEZpbmRpbmcgQ29kZXMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2hvc3BpY2UtZmluZGluZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjM5OjEtMzk6MTAyIiBuYW1lPSJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvaG9zcGljZS1wcm9jZWR1cmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0MDoxLTQwOjEyNCIgbmFtZT0iT2JzZXJ2YXRpb24gQ2F0ZWdvcnkgTGFib3JhdG9yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2JzZXJ2YXRpb24tY2F0ZWdvcnktbGFib3JhdG9yeSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjQxOjEtNDE6MTIyIiBuYW1lPSJPYnNlcnZhdGlvbiBDYXRlZ29yeSBQcm9jZWR1cmUiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29ic2VydmF0aW9uLWNhdGVnb3J5LXByb2NlZHVyZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjQyOjEtNDI6MTAwIiBuYW1lPSJQYWluIHRyZWF0bWVudCBwbGFuIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wYWluLXRyZWF0bWVudC1wbGFuIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDM6MS00MzoxMTIiIG5hbWU9IlBhaW4gbWFuYWdlbWVudCBwcm9jZWR1cmUiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BhaW4tbWFuYWdlbWVudC1wcm9jZWR1cmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0NDoxLTQ0OjEwNCIgbmFtZT0iUERNUCByZXZpZXcgcHJvY2VkdXJlIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wZG1wLXJldmlldy1wcm9jZWR1cmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0NToxLTQ1OjExNCIgbmFtZT0iUERNUCBkYXRhIHJldmlld2VkIGZpbmRpbmciIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BkbXAtZGF0YS1yZXZpZXdlZC1maW5kaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDY6MS00NjoxMTUiIG5hbWU9IkNvY2FpbmUgVXJpbmUgVGVzdHMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvY2FpbmUtdXJpbmUtZHJ1Zy1zY3JlZW5pbmctdGVzdHMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0NzoxLTQ3OjExNyIgbmFtZT0iUENQIFVyaW5lIFRlc3RzIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9waGVuY3ljbGlkaW5lLXVyaW5lLWRydWctc2NyZWVuaW5nLXRlc3RzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDk6MS00OToxMDciIG5hbWU9IkNvbW11bml0eSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnktY29tbXVuaXR5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTA6MS01MDoxMTAiIG5hbWU9IkFjdGl2ZSBDb25kaXRpb24iIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbi1jbGluaWNhbC1zdGF0dXMtYWN0aXZlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTE6MS01MToxMTciIG5hbWU9IkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3Qtc3RhdHVzLWFjdGl2ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjUzOjEtNTM6MTM4IiBuYW1lPSJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLWVuY291bnRlci1kaWFnbm9zaXMtY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI1NDoxLTU0OjEyNCIgbmFtZT0iUHJvYmxlbSBMaXN0IENvbmRpdGlvbiBDYXRlZ29yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXByb2JsZW0tbGlzdC1jYXRlZ29yeSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjU1OjEtNTU6MTQ0IiBuYW1lPSJVUyBDb3JlIEhlYWx0aCBDb25jZXJuIENvbmRpdGlvbiBDYXRlZ29yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXVzLWNvcmUtaGVhbHRoLWNvbmNlcm4tY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgPC92YWx1ZVNldHM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhdG9yPSI1OToxLTU5OjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjU5OjEtNTk6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjU5OjEtNTk6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2MzoxLTY3OjY4IiBuYW1lPSJPcGlvaWQgT3RoZXIgVGhhbiBTeW50aGV0aWMgT3JkZXJlZCBJbiBMYXN0IDEyIE1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjY0OjMtNjc6NjgiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNjQ6My02NDo2MiIgYWxpYXM9Ik1SIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNjQ6My02NDo1OSIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJzdGF0dXMiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjY0OjMzLTY0OjU4IiBuYW1lPSJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiIHByZXNlcnZlPSJ0cnVlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjY1OjctNjc6NjgiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjEzLTY2OjM2IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MTMtNjU6NzEiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTozNy02NTo1MCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MTMtNjU6MzUiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MjMtNjU6MzUiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTozNy02NTo1MCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjY1OjY1LTY1OjcxIiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTo2NS02NTo3MSIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjM3LTY1OjQyIiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhdG9yPSI2NTo2NS02NTo3MSIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTozNy02NTo1MCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjM3LTY1OjUwIiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6NjUtNjU6NzEiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NjoxMS02NjozNiIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjY6MTEtNjY6MjMiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iNjY6MjgtNjY6MzYiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2Njo0MS02Nzo2OCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY2OjQyLTY2OjExMCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjY6NDItNjY6NTQiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iNjY6NTktNjY6MTEwIiBuYW1lPSJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NzoxMS02Nzo2NyIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY3OjE1LTY3OjY3IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NzoxNi02NzoyOCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI2NzozMy02Nzo2NiIgbmFtZT0iTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTM1OjEtMTM4OjM2IiBuYW1lPSJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTM2OjMtMTM4OjM2IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEzNjozLTEzNjoxMCIgYWxpYXM9IlJ4Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTM2OjMtMTM2OjciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjEzNzo1LTEzODozNiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzNzoxMS0xMzc6MzYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzNzoxMS0xMzc6MjUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEzNzoxMS0xMzc6MTkiIHBhdGg9InN0YXR1cyIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMzc6MjktMTM3OjM2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzODoxMS0xMzg6MzYiIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMzg6MTEtMTM4OjIxIiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTM4OjI2LTEzODozNiIgbmFtZT0iQ29tbXVuaXR5IiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTM1OjY4LTEzNTo5MCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2F0b3I9IjEzNTo3My0xMzU6ODkiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2OToxLTg5OjkiIG5hbWU9IkFjdGl2ZSBBbWJ1bGF0b3J5IE9waW9pZCBSeCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjcwOjMtODk6OSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI3MDozLTc1OjYiIGFsaWFzPSJSeCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjcwOjMtNzU6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI3MTo1LTcxOjExMSIgYWxpYXM9Ik1SIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzE6NS03MToxMDgiIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MTo1MC03MToxMDYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ic3RhdHVzIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI3MTo4MC03MToxMDUiIG5hbWU9IkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI3Mjo3LTc0OjM4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MjoxMy03MzozOCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjEzLTcyOjcyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6MzctNzI6NTEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjEzLTcyOjM1IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjIzLTcyOjM1IiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6MzctNzI6NTEiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSI3Mjo2Ni03Mjo3MiIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6NjYtNzI6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MjozNy03Mjo0MyIgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjcyOjY2LTcyOjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjM3LTcyOjUxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6MzctNzI6NTEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Mjo2Ni03Mjo3MiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjczOjEzLTczOjM4IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MzoxMy03MzoyNSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI3MzozMC03MzozOCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjczOjQzLTc0OjM4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzM6NDMtNzM6MTExIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Mzo0My03Mzo1NSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI3Mzo2MC03MzoxMTEiIG5hbWU9Ik9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc0OjEzLTc0OjM4IiB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzQ6MTMtNzQ6MjMiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI3NDoyOC03NDozOCIgbmFtZT0iQ29tbXVuaXR5IiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI3Njo5LTc2Ojk2IiBpZGVudGlmaWVyPSJNZWQiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3NjoxNC03Njo5NiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3NjozMy03Njo5NSIgeHNpOnR5cGU9Ikxhc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijc2OjM5LTc2OjkzIiB4c2k6dHlwZT0iU3BsaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5nVG9TcGxpdCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Njo0NS03Njo4NyIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijc2OjQ1LTc2Ojc3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Njo0Ni03Njo1OCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI3Njo2My03Njo3NiIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJpbmdUb1NwbGl0PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9Ijc2OjkwLTc2OjkyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9Ijc3OjUtNzc6MTA5IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3NzoxMS03Nzo0MSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc3OjE0LTc3OjQxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3NzoxNS03NzoyNyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI3NzozMi03Nzo0MCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc3OjQ2LTc3OjEwOSIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijc3OjQ2LTc3OjUzIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijc3OjQ2LTc3OjQ4IiBuYW1lPSJNZWQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9Ijc3OjU4LTc3OjEwOSIgbmFtZT0iT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSI3ODo3LTg5OjkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3OTo5LTg5OjkiIGNsYXNzVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODA6MTUtODA6MTkiIHBhdGg9ImlkIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MToxOS04MToyNyIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MjoxOS04MjoyNyIgcGF0aD0iaW50ZW50IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgzOjIxLTgzOjMxIiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg0OjIzLTg0OjExMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSI4NDoyNi04NDo1MSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODQ6MjYtODQ6MzgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iODQ6NDMtODQ6NTEiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSI4NDo1OC04NDo3MiIgeHNpOnR5cGU9IkZpcnN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI4NDo2NC04NDo3MSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI4NDo2NC04NDo2NiIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iODQ6NzktODQ6MTEwIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4NDo3OS04NDo5MSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI4NDo5Ni04NDoxMTAiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODU6MjAtODU6MjkiIHBhdGg9InN1YmplY3QiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODY6MjEtODY6MzEiIHBhdGg9InJlY29yZGVyIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZUluc3RydWN0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijg3OjMwLTg3OjQ5IiBwYXRoPSJkb3NhZ2VJbnN0cnVjdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODg6MjgtODg6NDUiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjkxOjEtMTExOjkiIG5hbWU9IkFjdGl2ZSBBbWJ1bGF0b3J5IEJlbnpvZGlhemVwaW5lIFJ4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTI6My0xMTE6OSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5MjozLTk3OjYiIGFsaWFzPSJSeCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjkyOjMtOTc6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5Mzo1LTkzOjExMSIgYWxpYXM9Ik1SIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTM6NS05MzoxMDgiIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5Mzo1MC05MzoxMDYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ic3RhdHVzIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI5Mzo4MC05MzoxMDUiIG5hbWU9IkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI5NDo3LTk2OjM4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NDoxMy05NTozOCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjEzLTk0OjcyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6MzctOTQ6NTEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjEzLTk0OjM1IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjIzLTk0OjM1IiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6MzctOTQ6NTEiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSI5NDo2Ni05NDo3MiIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6NjYtOTQ6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NDozNy05NDo0MyIgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9Ijk0OjY2LTk0OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjM3LTk0OjUxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6MzctOTQ6NTEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NDo2Ni05NDo3MiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk1OjEzLTk1OjM4IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NToxMy05NToyNSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI5NTozMC05NTozOCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk1OjQzLTk2OjM4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTU6NDMtOTU6ODciIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk1OjQzLTk1OjU1IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9Ijk1OjYwLTk1Ojg3IiBuYW1lPSJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NjoxMy05NjozOCIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijk2OjEzLTk2OjIzIiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iOTY6MjgtOTY6MzgiIG5hbWU9IkNvbW11bml0eSIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iOTg6OS05ODo5NiIgaWRlbnRpZmllcj0iTWVkIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTg6MTQtOTg6OTYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTg6MzMtOTg6OTUiIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5ODozOS05ODo5MyIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTg6NDUtOTg6ODciIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5ODo0NS05ODo3NyIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTg6NDYtOTg6NTgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iOTg6NjMtOTg6NzYiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3RyaW5nVG9TcGxpdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlcGFyYXRvciBsb2NhdG9yPSI5ODo5MC05ODo5MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI5OTo1LTk5Ojg1IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5OToxMS05OTo0MSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk5OjE0LTk5OjQxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5OToxNS05OToyNyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI5OTozMi05OTo0MCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk5OjQ2LTk5Ojg1IiB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTk6NDYtOTk6NTMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTk6NDYtOTk6NDgiIG5hbWU9Ik1lZCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iOTk6NTgtOTk6ODUiIG5hbWU9IkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMTAwOjctMTExOjkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMDE6OS0xMTE6OSIgY2xhc3NUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDI6MTUtMTAyOjE5IiBwYXRoPSJpZCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTAzOjE5LTEwMzoyNyIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDQ6MTktMTA0OjI3IiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTA1OjIxLTEwNTozMSIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDY6MjMtMTA2OjExMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIxMDY6MjYtMTA2OjUxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDY6MjYtMTA2OjM4IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjEwNjo0My0xMDY6NTEiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIxMDY6NTgtMTA2OjcyIiB4c2k6dHlwZT0iRmlyc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwNjo2NC0xMDY6NzEiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTA2OjY0LTEwNjo2NiIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMTA2Ojc5LTEwNjoxMTAiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwNjo3OS0xMDY6OTEiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTA2Ojk2LTEwNjoxMTAiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTA3OjIwLTEwNzoyOSIgcGF0aD0ic3ViamVjdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDg6MjEtMTA4OjMxIiBwYXRoPSJyZWNvcmRlciIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDk6MzAtMTA5OjQ5IiBwYXRoPSJkb3NhZ2VJbnN0cnVjdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTEwOjI4LTExMDo0NSIgcGF0aD0iZGlzcGVuc2VSZXF1ZXN0IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTEzOjEtMTMzOjkiIG5hbWU9IkFjdGl2ZSBBbWJ1bGF0b3J5IE5hbG94b25lIFJ4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTE0OjMtMTMzOjkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTE0OjMtMTE5OjYiIGFsaWFzPSJSeCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjExNDozLTExOTozIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjExNTo1LTExNToxMTEiIGFsaWFzPSJNUiI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjExNTo1LTExNToxMDgiIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTU6NTAtMTE1OjEwNiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJzdGF0dXMiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjExNTo4MC0xMTU6MTA1IiBuYW1lPSJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiIHByZXNlcnZlPSJ0cnVlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTE2OjctMTE4OjM4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTY6MTMtMTE3OjM4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjEzLTExNjo3MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjozNy0xMTY6NTEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjoxMy0xMTY6MzUiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjIzLTExNjozNSIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjozNy0xMTY6NTEiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSIxMTY6NjYtMTE2OjcyIiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTY6NjYtMTE2OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjM3LTExNjo0MyIgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjExNjo2Ni0xMTY6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjM3LTExNjo1MSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjozNy0xMTY6NTEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTY6NjYtMTE2OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE3OjEzLTExNzozOCIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE3OjEzLTExNzoyNSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMTc6MzAtMTE3OjM4IiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE3OjQzLTExODozOCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNzo0My0xMTc6ODEiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNzo0My0xMTc6NTUiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTE3OjYwLTExNzo4MSIgbmFtZT0iTmFsb3hvbmUgbWVkaWNhdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE4OjEzLTExODozOCIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjExODoxMy0xMTg6MjMiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxMTg6MjgtMTE4OjM4IiBuYW1lPSJDb21tdW5pdHkiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9IjEyMDo5LTEyMDo5NiIgaWRlbnRpZmllcj0iTWVkIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTIwOjE0LTEyMDo5NiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjA6MzMtMTIwOjk1IiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTIwOjM5LTEyMDo5MyIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIwOjQ1LTEyMDo4NyIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEyMDo0NS0xMjA6NzciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEyMDo0Ni0xMjA6NTgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTIwOjYzLTEyMDo3NiIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJpbmdUb1NwbGl0PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9IjEyMDo5MC0xMjA6OTIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTIxOjUtMTIxOjc5IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjE6MTEtMTIxOjQxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIxOjE0LTEyMTo0MSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIxOjE1LTEyMToyNyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMjE6MzItMTIxOjQwIiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIxOjQ2LTEyMTo3OSIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEyMTo0Ni0xMjE6NTMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTIxOjQ2LTEyMTo0OCIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxMjE6NTgtMTIxOjc5IiBuYW1lPSJOYWxveG9uZSBtZWRpY2F0aW9ucyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjEyMjo3LTEzMzo5Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTIzOjktMTMzOjkiIGNsYXNzVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTI0OjE1LTEyNDoxOSIgcGF0aD0iaWQiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyNToxOS0xMjU6MjciIHBhdGg9InN0YXR1cyIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTI2OjE5LTEyNjoyNyIgcGF0aD0iaW50ZW50IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyNzoyMS0xMjc6MzEiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGljYXRpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTI4OjIzLTEyODoxMTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMTI4OjI2LTEyODo1MSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTI4OjI2LTEyODozOCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMjg6NDMtMTI4OjUxIiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMTI4OjU4LTEyODo3MiIgeHNpOnR5cGU9IkZpcnN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMjg6NjQtMTI4OjcxIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEyODo2NC0xMjg6NjYiIG5hbWU9Ik1lZCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIGxvY2F0b3I9IjEyODo3OS0xMjg6MTEwIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjg6NzktMTI4OjkxIiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjEyODo5Ni0xMjg6MTEwIiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyOToyMC0xMjk6MjkiIHBhdGg9InN1YmplY3QiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTMwOjIxLTEzMDozMSIgcGF0aD0icmVjb3JkZXIiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTMxOjMwLTEzMTo0OSIgcGF0aD0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGVuc2VSZXF1ZXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEzMjoyOC0xMzI6NDUiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjE0MDoxLTE2Mzo3IiBuYW1lPSJJcyBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsPyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQxOjMtMTYzOjciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTQxOjMtMTQxOjEwIiBhbGlhcz0iUngiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNDE6My0xNDE6NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9IjE0Mjo5LTE0Mjo5NiIgaWRlbnRpZmllcj0iTWVkIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQyOjE0LTE0Mjo5NiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDI6MzMtMTQyOjk1IiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTQyOjM5LTE0Mjo5MyIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQyOjQ1LTE0Mjo4NyIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE0Mjo0NS0xNDI6NzciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE0Mjo0Ni0xNDI6NTgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTQyOjYzLTE0Mjo3NiIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJpbmdUb1NwbGl0PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9IjE0Mjo5MC0xNDI6OTIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTQzOjQtMTUwOjM2IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQzOjEwLTE0OTo3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDQ6OS0xNDc6OSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE0NToxMS0xNDU6NDEiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDU6MTQtMTQ1OjQxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDU6MTUtMTQ1OjI3IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE0NTozMi0xNDU6NDAiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDY6MTctMTQ2Ojg1IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDY6MTctMTQ2OjI5IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjE0NjozNC0xNDY6ODUiIG5hbWU9Ik9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQ4OjEyLTE0ODo3NSIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE0ODoxMi0xNDg6MTkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQ4OjEyLTE0ODoxNCIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxNDg6MjQtMTQ4Ojc1IiBuYW1lPSJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE1MDoxMS0xNTA6MzYiIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNTA6MTEtMTUwOjIxIiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTUwOjI2LTE1MDozNiIgbmFtZT0iQ29tbXVuaXR5IiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMTUxOjUtMTYzOjciPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNTI6Ny0xNjM6NyIgY2xhc3NUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNTM6MTMtMTUzOjE3IiBwYXRoPSJpZCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTU0OjE3LTE1NDoyNSIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNTU6MTctMTU1OjI1IiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTU2OjE5LTE1NjoyOSIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTc6MjEtMTU3OjEwOCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIxNTc6MjQtMTU3OjQ5IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTc6MjQtMTU3OjM2IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE1Nzo0MS0xNTc6NDkiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIxNTc6NTYtMTU3OjcwIiB4c2k6dHlwZT0iRmlyc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE1Nzo2Mi0xNTc6NjkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTU3OjYyLTE1Nzo2NCIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMTU3Ojc3LTE1NzoxMDgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE1Nzo3Ny0xNTc6ODkiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTU3Ojk0LTE1NzoxMDgiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTU4OjE4LTE1ODoyNyIgcGF0aD0ic3ViamVjdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE1OToyMS0xNTk6MzMiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTYwOjE5LTE2MDoyOSIgcGF0aD0icmVjb3JkZXIiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTYxOjI4LTE2MTo0NyIgcGF0aD0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGVuc2VSZXF1ZXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE2MjoyNi0xNjI6NDMiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE0MDo3OS0xNDA6MTAxIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYXRvcj0iMTQwOjg0LTE0MDoxMDAiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIxNjU6NS0xODg6MTUiIG5hbWU9IklzIEJlbnpvZGlhemVwaW5lPyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTY2OjctMTg4OjE1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE2Njo3LTE2NjoxNCIgYWxpYXM9IlJ4Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTY2OjctMTY2OjExIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iMTY3OjEzLTE2NzoxMDAiIGlkZW50aWZpZXI9Ik1lZCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE2NzoxOC0xNjc6MTAwIiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvbiIgY29kZVByb3BlcnR5PSJpZCIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE2NzozNy0xNjc6OTkiIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxNjc6NDMtMTY3Ojk3IiB4c2k6dHlwZT0iU3BsaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5nVG9TcGxpdCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjc6NDktMTY3OjkxIiBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTY3OjQ5LTE2Nzo4MSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTY3OjUwLTE2Nzo2MiIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxNjc6NjctMTY3OjgwIiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N0cmluZ1RvU3BsaXQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgbG9jYXRvcj0iMTY3Ojk0LTE2Nzo5NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSIxNjg6OS0xNzU6NDAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjg6MTUtMTc0OjExIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjk6MTMtMTcyOjEzIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTcwOjE1LTE3MDo0NSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3MDoxOC0xNzA6NDUiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3MDoxOS0xNzA6MzEiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTcwOjM2LTE3MDo0NCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3MToyMS0xNzE6NjUiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3MToyMS0xNzE6MzMiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTcxOjM4LTE3MTo2NSIgbmFtZT0iQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNzM6MTYtMTczOjU1IiB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTczOjE2LTE3MzoyMyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNzM6MTYtMTczOjE4IiBuYW1lPSJNZWQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjE3MzoyOC0xNzM6NTUiIG5hbWU9IkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTc1OjE1LTE3NTo0MCIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE3NToxNS0xNzU6MjUiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxNzU6MzAtMTc1OjQwIiBuYW1lPSJDb21tdW5pdHkiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIxNzY6OS0xODg6MTUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNzc6MTUtMTg4OjE1IiBjbGFzc1R5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImlkIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE3ODoyMS0xNzg6MjUiIHBhdGg9ImlkIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNzk6MjUtMTc5OjMzIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE4MDoyNS0xODA6MzMiIHBhdGg9ImludGVudCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxODE6MjctMTgxOjM3IiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE4MjoyOS0xODI6MTE2IiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2F0b3I9IjE4MjozMi0xODI6NTciIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE4MjozMi0xODI6NDQiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTgyOjQ5LTE4Mjo1NyIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjE4Mjo2NC0xODI6NzgiIHhzaTp0eXBlPSJGaXJzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTgyOjcwLTE4Mjo3NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxODI6NzAtMTgyOjcyIiBuYW1lPSJNZWQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIxODI6ODUtMTgyOjExNiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTgyOjg1LTE4Mjo5NyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxODI6MTAyLTE4MjoxMTYiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTgzOjI2LTE4MzozNSIgcGF0aD0ic3ViamVjdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE4NDoyOS0xODQ6NDEiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTg1OjI3LTE4NTozNyIgcGF0aD0icmVjb3JkZXIiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTg2OjM2LTE4Njo1NSIgcGF0aD0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGVuc2VSZXF1ZXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE4NzozNC0xODc6NTEiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE2NTo0OC0xNjU6NzAiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhdG9yPSIxNjU6NTMtMTY1OjY5IiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjA0OjEtMjA3Ojc4IiBuYW1lPSJVUyBDb3JlLUNhdGVnb3JpemVkIENvbmRpdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyMDU6My0yMDc6NzgiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIwNTozLTIwNjo2OCIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjA1OjMtMjA1OjY3IiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY2F0ZWdvcnkiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjIwNToyNy0yMDU6NjYiIG5hbWU9IkVuY291bnRlciBEaWFnbm9zaXMgQ29uZGl0aW9uIENhdGVnb3J5IiBwcmVzZXJ2ZT0idHJ1ZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjA2OjExLTIwNjo2OCIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNhdGVnb3J5IiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIyMDY6MzUtMjA2OjY3IiBuYW1lPSJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IiBwcmVzZXJ2ZT0idHJ1ZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMDc6MTEtMjA3Ojc4IiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY2F0ZWdvcnkiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjIwNzozNS0yMDc6NzciIG5hbWU9IlVTIENvcmUgSGVhbHRoIENvbmNlcm4gQ29uZGl0aW9uIENhdGVnb3J5IiBwcmVzZXJ2ZT0idHJ1ZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIyMDk6MS0yMjA6MyIgbmFtZT0iQ29uZGl0aW9ucyBJbmRpY2F0aW5nIEVuZCBvZiBMaWZlIG9yIFdpdGggTGltaXRlZCBMaWZlIEV4cGVjdGFuY3kiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyMTA6My0yMjA6MyIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjEwOjMtMjE0OjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjExOjUtMjExOjM4IiBhbGlhcz0iQyI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIxMTo1LTIxMTozNiIgbmFtZT0iVVMgQ29yZS1DYXRlZ29yaXplZCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjIxMjo3LTIxMzo1MCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxMjoxMy0yMTI6NzMiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxMjoxMy0yMTI6MTgiIHBhdGg9ImNvZGUiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMjEyOjIzLTIxMjo3MyIgbmFtZT0iQ29uZGl0aW9ucyBsaWtlbHkgdGVybWluYWwgZm9yIG9waW9pZCBwcmVzY3JpYmluZyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTM6MTMtMjEzOjUwIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTM6MTMtMjEzOjI4IiBwYXRoPSJjbGluaWNhbFN0YXR1cyIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIyMTM6MzMtMjEzOjUwIiBuYW1lPSJBY3RpdmUgQ29uZGl0aW9uIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjE2OjMtMjIwOjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjE3OjUtMjE3OjM4IiBhbGlhcz0iQyI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIxNzo1LTIxNzozNiIgbmFtZT0iVVMgQ29yZS1DYXRlZ29yaXplZCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjIxODo3LTIxOTo1MCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxODoxMy0yMTg6NTgiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxODoxMy0yMTg6MTgiIHBhdGg9ImNvZGUiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMjE4OjIzLTIxODo1OCIgbmFtZT0iTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTk6MTMtMjE5OjUwIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTk6MTMtMjE5OjI4IiBwYXRoPSJjbGluaWNhbFN0YXR1cyIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIyMTk6MzMtMjE5OjUwIiBuYW1lPSJBY3RpdmUgQ29uZGl0aW9uIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIzNzI6Mi0zNzQ6MTMiIG5hbWU9IlNlcnZpY2UgUmVxdWVzdHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNzM6NC0zNzQ6MTMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzczOjQtMzczOjIyIiBhbGlhcz0iU1IiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNzM6NC0zNzM6MTkiIGRhdGFUeXBlPSJmaGlyOlNlcnZpY2VSZXF1ZXN0IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vU2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIzNzQ6NS0zNzQ6MTMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNzQ6MTItMzc0OjEzIiBuYW1lPSJTUiIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjIyMjoxLTI1MjozIiBuYW1lPSJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIyMzozLTI1MjozIiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMjM6My0yMzI6MyIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjIzOjMtMjI2OjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjI0OjUtMjI0OjUyIiBhbGlhcz0iUCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIyNDo1LTIyNDo1MCIgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjIyNDoyNS0yMjQ6NDkiIG5hbWU9Ikhvc3BpY2UgUHJvY2VkdXJlIENvZGVzIiBwcmVzZXJ2ZT0idHJ1ZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSIyMjU6Ny0yMjU6NjAiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyNToxMy0yMjU6MjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjIyNToxMy0yMjU6MjAiIHBhdGg9InN0YXR1cyIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyNTozMS0yMjU6NjAiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjI1OjMzLTIyNTo0NSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImluLXByb2dyZXNzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyMjU6NDgtMjI1OjU4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMjg6My0yMzI6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMjk6NS0yMjk6MjUiIGFsaWFzPSJTUiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIyOTo1LTIyOToyMiIgbmFtZT0iU2VydmljZSBSZXF1ZXN0cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSIyMzA6Ny0yMzE6NTYiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzA6MTMtMjMwOjQ4IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzA6MTMtMjMwOjE5IiBwYXRoPSJjb2RlIiBzY29wZT0iU1IiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIyMzA6MjQtMjMwOjQ4IiBuYW1lPSJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzE6MTMtMjMxOjU2IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzE6MTMtMjMxOjI3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMzE6MTMtMjMxOjIxIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJTUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjMxOjMyLTIzMTo1NiIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyMzE6MzQtMjMxOjQxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyMzE6NDQtMjMxOjU0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyMzQ6My0yNDA6MyIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIyMzU6OC0yMzU6NTIiIG5hbWU9Ikhvc3BpY2UgRmluZGluZ3MgRXhjbHVzaW9uIEVuYWJsZWQiIGxpYnJhcnlOYW1lPSJDb25maWciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjIzNjo3LTIzNzo4NCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMzY6Ny0yMzY6NTQiIGFsaWFzPSJPIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjM2OjctMjM2OjUyIiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjIzNjoyOS0yMzY6NTEiIG5hbWU9Ikhvc3BpY2UgRmluZGluZyBDb2RlcyIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMjM3OjktMjM3Ojg0IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM3OjE5LTIzNzo4NCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM3OjIwLTIzNzozMyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjM3OjIwLTIzNzoyNyIgcGF0aD0ic3RhdHVzIiBzY29wZT0iTyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM3OjM4LTIzNzo4MyIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyMzc6NDAtMjM3OjQ4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0idW5rbm93biIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjM3OjUxLTIzNzo2OCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImVudGVyZWQtaW4tZXJyb3IiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjIzNzo3MS0yMzc6ODEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjYW5jZWxsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIGxvY2F0b3I9IjIzOTo3LTIzOTo4IiB4c2k6dHlwZT0iTGlzdCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlNlcnZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0MjozLTI1MjozIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI0Mzo1LTI0MzoxNyIgYWxpYXM9IkUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyNDM6NS0yNDM6MTUiIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0VuY291bnRlciIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMjQ0OjctMjUxOjkyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ0OjEzLTI1MDo5IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ0OjEzLTI0NDo3MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NDozOC0yNDQ6NTEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NDoxMy0yNDQ6MzYiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ0OjIzLTI0NDozNiIgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjQ0OjIzLTI0NDozMCIgcGF0aD0icGVyaW9kIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NDozOC0yNDQ6NTEiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSIyNDQ6NjYtMjQ0OjcyIiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNDQ6NjYtMjQ0OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ0OjM4LTI0NDo0MyIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjQ0OjY2LTI0NDo3MiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNDQ6MzgtMjQ0OjUxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ0OjM4LTI0NDo1MSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NDo2Ni0yNDQ6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNDU6MTMtMjUwOjkiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMjQ2OjE0LTI0Nzo3NSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ2OjE0LTI0Njo2NiIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NjoxNC0yNDY6NTgiIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNDY6MTQtMjQ2OjUxIiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNDY6MTQtMjQ2OjMwIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNDc6MTgtMjQ3Ojc1IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ3OjIyLTI0Nzo3NSIgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NzoyOS0yNDc6NzUiIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNDc6MzAtMjQ3OjY3IiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNDc6MzAtMjQ3OjQ2IiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIyNDg6MTgtMjQ4OjIyIiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIyNDk6MTYtMjQ5Ojc4IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNDk6MTYtMjQ5OjUzIiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNDk6MTYtMjQ5OjMyIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIyNDk6NTgtMjQ5Ojc4IiBuYW1lPSJIb3NwaWNlIERpc3Bvc2l0aW9uIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNTE6MTMtMjUxOjkyIiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNTE6MTMtMjUxOjI2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNTE6MTMtMjUxOjIwIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNTE6MzEtMjUxOjkyIiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjI1MTozMy0yNTE6NDEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJwbGFubmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyNTE6NDQtMjUxOjUyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYXJyaXZlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjUxOjU1LTI1MTo2NyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImluLXByb2dyZXNzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyNTE6NzAtMjUxOjc5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjI1MTo4Mi0yNTE6OTAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvbmxlYXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIxOTA6MS0xOTg6NSIgbmFtZT0iRW5kIG9mIExpZmUgQXNzZXNzbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE5Mjo1LTE5ODo1IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxOTI6NS0xOTQ6NSIgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE5MjoxMi0xOTQ6NSIgbmFtZT0iQ29uZGl0aW9ucyBJbmRpY2F0aW5nIEVuZCBvZiBMaWZlIG9yIFdpdGggTGltaXRlZCBMaWZlIEV4cGVjdGFuY3kiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTk2OjgtMTk4OjUiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxOTY6MTUtMTk4OjUiIG5hbWU9IkFkbWl0dGVkL1JlZmVycmVkL0Rpc2NoYXJnZWQgdG8gSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjc5OjEtMjgwOjM2IiBuYW1lPSJQcmV2aW91cyAxMCBEYXlzIEludGVydmFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjgwOjEtMjgwOjM2IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMjgwOjEwLTI4MDoyNiIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgwOjEwLTI4MDoxNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4MDoyMC0yODA6MjYiIHZhbHVlPSIxMCIgdW5pdD0iZGF5cyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhdG9yPSIyODA6MjktMjgwOjM1IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIyODI6MS0yODM6NDgiIG5hbWU9IkZpcnN0IE1vbnRoIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjgzOjEtMjgzOjQ4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMjgzOjEwLTI4MzoyNyIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgzOjEwLTI4MzoxNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4MzoyMC0yODM6MjciIHZhbHVlPSIzIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjgzOjMwLTI4Mzo0NyIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgzOjMwLTI4MzozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4Mzo0MC0yODM6NDciIHZhbHVlPSIyIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjg1OjEtMjg2OjQ4IiBuYW1lPSJTZWNvbmQgTW9udGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyODY6MS0yODY6NDgiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSIyODY6MTAtMjg2OjI3IiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODY6MTAtMjg2OjE2IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg2OjIwLTI4NjoyNyIgdmFsdWU9IjIiIHVuaXQ9Im1vbnRocyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhdG9yPSIyODY6MzAtMjg2OjQ3IiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODY6MzAtMjg2OjM2IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg2OjQwLTI4Njo0NyIgdmFsdWU9IjEiIHVuaXQ9Im1vbnRocyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIyODg6MS0yODk6MzciIG5hbWU9IlRoaXJkIE1vbnRoIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjg5OjEtMjg5OjM3IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMjg5OjEwLTI4OToyNyIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg5OjEwLTI4OToxNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4OToyMC0yODk6MjciIHZhbHVlPSIxIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjg5OjMwLTI4OTozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzIwOjEtMzM0OjMiIG5hbWU9IkdldER1cmF0aW9uSW5EYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzMjE6My0zMzQ6MyIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIzMjE6Ni0zMjE6MTgiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjE6Ni0zMjE6MTAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gYXNUeXBlPSJ0OkRlY2ltYWwiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyMToyNS0zMjE6MjgiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMzIzOjUtMzM0OjMiIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMyNDo3LTMyNDo2NCI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMyNDoxMi0zMjQ6MzMiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI0OjEyLTMyNDoyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI0OjEyLTMyNDoyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjQ6MTItMzI0OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI0OjMxLTMyNDozMyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMzI0OjQwLTMyNDo2NCIgeHNpOnR5cGU9Ik11bHRpcGx5Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI0OjQwLTMyNDo1NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI0OjQwLTMyNDo1MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI0OjQwLTMyNDo0NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyNDo2MC0zMjQ6NjQiIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iMzY1LjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMyNTo3LTMyNTo2NCI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMyNToxMi0zMjU6MzQiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI1OjEyLTMyNToyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI1OjEyLTMyNToyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjU6MTItMzI1OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI1OjMxLTMyNTozNCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjMyNTo0MS0zMjU6NjQiIHhzaTp0eXBlPSJNdWx0aXBseSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyNTo0MS0zMjU6NTciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyNTo0MS0zMjU6NTEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyNTo0MS0zMjU6NDUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjU6NjEtMzI1OjY0IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjMwLjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMyNjo3LTMyNjo2MyI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMyNjoxMi0zMjY6MzQiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI2OjEyLTMyNjoyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI2OjEyLTMyNjoyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjY6MTItMzI2OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI2OjMxLTMyNjozNCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IndrIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjMyNjo0MS0zMjY6NjMiIHhzaTp0eXBlPSJNdWx0aXBseSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyNjo0MS0zMjY6NTciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyNjo0MS0zMjY6NTEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyNjo0MS0zMjY6NDUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjY6NjEtMzI2OjYzIiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjcuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYXRvcj0iMzI3OjctMzI3OjU2Ij4KICAgICAgICAgICAgICAgICAgPHdoZW4gbG9jYXRvcj0iMzI3OjEyLTMyNzozMyIgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjc6MTItMzI3OjI3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjc6MTItMzI3OjIxIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyNzoxMi0zMjc6MTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjc6MzEtMzI3OjMzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIzMjc6NDAtMzI3OjU2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjc6NDAtMzI3OjUwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjc6NDAtMzI3OjQ0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMyODo3LTMyODo2MyI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMyODoxMi0zMjg6MzMiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI4OjEyLTMyODoyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI4OjEyLTMyODoyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjg6MTItMzI4OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI4OjMxLTMyODozMyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMzI4OjQwLTMyODo2MyIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyODo0MC0zMjg6NTYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyODo0MC0zMjg6NTAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyODo0MC0zMjg6NDQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjg6NjAtMzI4OjYzIiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjI0LjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMyOTo3LTMyOTo3MiI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMyOToxMi0zMjk6MzUiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI5OjEyLTMyOToyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI5OjEyLTMyOToyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjk6MTItMzI5OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI5OjMxLTMyOTozNSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1pbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIzMjk6NDItMzI5OjcyIiB4c2k6dHlwZT0iRGl2aWRlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI5OjQyLTMyOTo2NSIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyOTo0Mi0zMjk6NTgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyOTo0Mi0zMjk6NTIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyOTo0Mi0zMjk6NDYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjk6NjItMzI5OjY1IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjYwLjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI5OjY5LTMyOTo3MiIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSIyNC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIzMzA6Ny0zMzA6NzciPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIzMzA6MTItMzMwOjMzIiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMDoxMi0zMzA6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMDoxMi0zMzA6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzMwOjEyLTMzMDoxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMDozMS0zMzA6MzMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjMzMDo0MC0zMzA6NzciIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzA6NDAtMzMwOjcwIiB4c2k6dHlwZT0iRGl2aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMwOjQwLTMzMDo2MyIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMDo0MC0zMzA6NTYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMDo0MC0zMzA6NTAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMDo0MC0zMzA6NDQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzA6NjAtMzMwOjYzIiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjYwLjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMwOjY3LTMzMDo3MCIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI2MC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMDo3NC0zMzA6NzciIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iMjQuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYXRvcj0iMzMxOjctMzMxOjg3Ij4KICAgICAgICAgICAgICAgICAgPHdoZW4gbG9jYXRvcj0iMzMxOjEyLTMzMTozNCIgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzE6MTItMzMxOjI3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMzE6MTItMzMxOjIxIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMToxMi0zMzE6MTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzE6MzEtMzMxOjM0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ibXMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMzMxOjQxLTMzMTo4NyIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMTo0MS0zMzE6NzgiIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzE6NDEtMzMxOjcxIiB4c2k6dHlwZT0iRGl2aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMxOjQxLTMzMTo2NCIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMTo0MS0zMzE6NTciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMTo0MS0zMzE6NTEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMTo0MS0zMzE6NDUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzE6NjEtMzMxOjY0IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjYwLjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMxOjY4LTMzMTo3MSIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI2MC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMTo3NS0zMzE6NzgiIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iMjQuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzE6ODItMzMxOjg3IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjEwMDAuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYXRvcj0iMzMyOjctMzMyOjExMiI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMzMjoxMi0zMzI6MzUiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzI6MTItMzMyOjI3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMzI6MTItMzMyOjIxIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMjoxMi0zMzI6MTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJUb0RlY2ltYWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzI6NDItMzMyOjExMiIgeHNpOnR5cGU9Ik1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMjo1MC0zMzI6NTMiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTAwMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIzMzI6NTYtMzMyOjU5IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIGxvY2F0b3I9IjMzMjo2Mi0zMzI6NzIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJVbmRlZmluZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZXZlcml0eSBsb2NhdG9yPSIzMzI6NzUtMzMyOjgxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRXJyb3IiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtZXNzYWdlIGxvY2F0b3I9IjMzMjo4NC0zMzI6MTExIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRHVyYXRpb24gdW5pdCBjb2RlIGlzIG51bGwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iVG9EZWNpbWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMzOjEyLTMzMzoxMDciIHhzaTp0eXBlPSJNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMzM6MjAtMzMzOjIzIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEwMDAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMzMzOjI2LTMzMzoyOSIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBsb2NhdG9yPSIzMzM6MzItMzMzOjQyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iVW5kZWZpbmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYXRvcj0iMzMzOjQ1LTMzMzo1MSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkVycm9yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8bWVzc2FnZSBsb2NhdG9yPSIzMzM6NTQtMzMzOjEwNiIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMzOjU0LTMzMzo4NyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlVuc3VwcG9ydGVkIGR1cmF0aW9uIHVuaXQgY29kZTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzM6OTEtMzMzOjEwNiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzMzOjkxLTMzMzoxMDAiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzMzOjkxLTMzMzo5NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvbWVzc2FnZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIzMjA6NDEtMzIwOjUzIiBuYW1lPSJmaGlyOkR1cmF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjk2OjEtMzA1OjExIiBuYW1lPSJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyOTc6My0zMDU6MTEiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMjk3OjYtMzAwOjMiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTg6NS0yOTg6ODQiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTg6NS0yOTg6MzkiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTg6NS0yOTg6MzkiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTg6NS0yOTg6MjciIHBhdGg9ImF1dGhvcmVkT24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjk4OjUtMjk4OjE2IiBuYW1lPSJwcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5ODo0NS0yOTg6ODQiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTg6NDUtMjk4Ojg0IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjk4OjQ1LTI5ODo3MiIgcGF0aD0iZGlzcGVuc2VSZXF1ZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI5ODo0NS0yOTg6NTYiIG5hbWU9InByZXNjcmlwdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTk6MTEtMjk5OjczIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjk5OjExLTI5OTo3MyIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5OToxMS0yOTk6NjEiIHBhdGg9ImV4cGVjdGVkU3VwcGx5RHVyYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjk5OjExLTI5OTozOCIgcGF0aD0iZGlzcGVuc2VSZXF1ZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI5OToxMS0yOTk6MjIiIG5hbWU9InByZXNjcmlwdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIzMDE6OC0zMDQ6MyIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjMwMjo1LTMwMjozNyIgeHNpOnR5cGU9IkRhdGVGcm9tIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMDI6MTUtMzAyOjM3IiBwYXRoPSJhdXRob3JlZE9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMwMjoxNS0zMDI6MjYiIG5hbWU9InByZXNjcmlwdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICA8aGlnaCBsb2NhdG9yPSIzMDM6NS0zMDM6MTUwIiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzAzOjUtMzAzOjM3IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMwMzoxNS0zMDM6MzciIHBhdGg9ImF1dGhvcmVkT24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzAzOjE1LTMwMzoyNiIgbmFtZT0icHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMDM6NDEtMzAzOjE1MCIgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIzMDM6NjUtMzAzOjEzNCIgbmFtZT0iR2V0RHVyYXRpb25JbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMwMzo4My0zMDM6MTMzIiBwYXRoPSJleHBlY3RlZFN1cHBseUR1cmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMwMzo4My0zMDM6MTEwIiBwYXRoPSJkaXNwZW5zZVJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzAzOjgzLTMwMzo5NCIgbmFtZT0icHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InVuaXQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMzAzOjE0My0zMDM6MTQ4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGF5cyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMDU6OC0zMDU6MTEiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icHJlc2NyaXB0aW9uIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjI5Njo2MS0yOTY6ODIiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIzMDc6MS0zMTY6MyIgbmFtZT0iRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjMwODozLTMxNjozIiB4c2k6dHlwZT0iU3VtIj4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMDk6NS0zMTU6ODEiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzA5OjUtMzE0OjIzIiBhbGlhcz0iT3Bpb2lkVXNlSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzMDk6NS0zMTQ6NSIgeHNpOnR5cGU9IkNvbGxhcHNlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzEwOjE2LTMxMzo3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMxMTo5LTMxMToxMDAiIGFsaWFzPSJPcGlvaWRQcmVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzMTE6OS0zMTE6ODEiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMzExOjI5LTMxMTo4MCIgbmFtZT0iT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiIHByZXNlcnZlPSJ0cnVlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIzMTI6OS0zMTI6ODQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzMTI6MTYtMzEyOjg0IiB4c2k6dHlwZT0iSW50ZXJzZWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzEyOjE2LTMxMjo2NyIgbmFtZT0iUHJlc2NyaXB0aW9uIFJlbGV2YW50IFBlcmlvZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzEyOjQ4LTMxMjo2NSIgbmFtZT0iT3Bpb2lkUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTI6NzktMzEyOjg0IiBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcmVzdWx0VHlwZU5hbWU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMzE1OjctMzE1OjgxIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzE1OjE0LTMxNTo4MSIgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTU6MjctMzE1OjUyIiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTU6MzYtMzE1OjUyIiBuYW1lPSJPcGlvaWRVc2VJbnRlcnZhbCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE1OjU4LTMxNTo4MSIgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxNTo2NS0zMTU6ODEiIG5hbWU9Ik9waW9pZFVzZUludGVydmFsIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJwZXJpb2QiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMzA3OjU2LTMwNzo2OSIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYXRvcj0iMzA3OjY1LTMwNzo2OCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjkxOjEtMjk0OjYwIiBuYW1lPSJQcmVzY3JpYmVkIE9waW9pZHMgZm9yIDIxIG9yIG1vcmUgb2YgMzAgRGF5cyBmb3IgZWFjaCBvZiB0aGUgcGFzdCAzIE1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjI5MjozLTI5NDo2MCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5MjozLTI5Mzo2MSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5MjozLTI5Mjo1NCIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkyOjMtMjkyOjQ4IiBuYW1lPSJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkyOjM1LTI5Mjo0NyIgbmFtZT0iRmlyc3QgTW9udGgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkyOjUzLTI5Mjo1NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTM6OS0yOTM6NjEiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5Mzo5LTI5Mzo1NSIgbmFtZT0iRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5Mzo0MS0yOTM6NTQiIG5hbWU9IlNlY29uZCBNb250aCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTM6NjAtMjkzOjYxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjk0OjktMjk0OjYwIiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTQ6OS0yOTQ6NTQiIG5hbWU9IkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTQ6NDEtMjk0OjUzIiBuYW1lPSJUaGlyZCBNb250aCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTQ6NTktMjk0OjYwIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzQzOjEtMzUyOjciIG5hbWU9IkNvZGluZ1RvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNDQ6My0zNTI6NyIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIzNDQ6Ni0zNDQ6MjEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDQ6Ny0zNDQ6MTIiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpTdHJpbmciIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0NTo4LTM0NToxMSIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIzNDc6NS0zNTI6NyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQ3OjUtMzUxOjM0IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDc6NS0zNTE6MTciIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0Nzo1LTM1MDozNCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQ3OjUtMzUwOjE3IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDc6NS0zNDk6MzIiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0Nzo1LTM0OToxNiIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQ3OjUtMzQ4OjI4IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDc6NS0zNDg6MTQiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0Nzo1LTM0NzoxMiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkNvZGUgeyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDg6Ny0zNDg6MTQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb2RlOiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0ODoxOC0zNDg6MjgiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzQ4OjE4LTM0ODoyMyIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQ5OjctMzQ5OjE2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ic3lzdGVtOiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0OToyMC0zNDk6MzIiIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzNDk6MjAtMzQ5OjI1IiBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTA6Ny0zNTA6MTciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJ2ZXJzaW9uOiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1MDoyMS0zNTA6MzQiIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzUwOjIxLTM1MDoyNiIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzUxOjctMzUxOjE3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGlzcGxheTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTE6MjEtMzUxOjM0IiBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjM1MToyMS0zNTE6MjYiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1Mjo1LTM1Mjo3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ifSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kaW5nIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjM0MzozOS0zNDM6NDkiIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzU0OjEtMzYyOjkiIG5hbWU9IkNvZGVhYmxlQ29uY2VwdFRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNTU6My0zNjI6OSIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIzNTU6Ni0zNTU6NDgiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1NTo3LTM1NToyMSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1NTo3LTM1NToxMyIgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTU6MjYtMzU1OjQ3IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzU1OjI2LTM1NTozOSIgcGF0aD0iY29kaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjM1NToyNi0zNTU6MzIiIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gYXNUeXBlPSJ0OlN0cmluZyIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzU2OjgtMzU2OjExIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2F0b3I9IjM1ODo1LTM2Mjo5IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTg6NS0zNjE6MTEiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1ODo1LTM2MDo3MyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzU4OjUtMzU5OjE3IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTg6NS0zNTg6MjMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDb2RlYWJsZUNvbmNlcHQgeyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTk6Ny0zNTk6MTciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDb2Rpbmc6IFsiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM2MDo5LTM2MDo3MyIgeHNpOnR5cGU9IkNvbWJpbmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjM2MDoxNy0zNjA6NjciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzYwOjE3LTM2MDozNyIgYWxpYXM9IkNvZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjM2MDoxNy0zNjA6MzAiIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25jZXB0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjM2MDozOS0zNjA6NjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNjA6NDYtMzYwOjY3IiBuYW1lPSJDb2RpbmdUb1N0cmluZyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzYwOjYxLTM2MDo2NiIgbmFtZT0iQ29kaW5nIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgbG9jYXRvcj0iMzYwOjcwLTM2MDo3MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzYxOjktMzYxOjExIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iXSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzYyOjctMzYyOjkiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJ9IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjM1NDo0OS0zNTQ6NjgiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzM5OjEtMzQwOjQ2IiBuYW1lPSJDb2RlYWJsZUNvbmNlcHRzVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjM0MDozLTM0MDo0NiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzNDA6My0zNDA6MTIiIGFsaWFzPSJjIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzQwOjMtMzQwOjEwIiBuYW1lPSJjb25jZXB0cyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMzQwOjE0LTM0MDo0NiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjM0MDoyMS0zNDA6NDYiIG5hbWU9IkNvZGVhYmxlQ29uY2VwdFRvU3RyaW5nIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDA6NDUiIG5hbWU9ImMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHRzIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjMzOTo1MS0zMzk6NzYiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhdG9yPSIzMzk6NTYtMzM5Ojc1IiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjM2NDoxLTM2NTozOSIgbmFtZT0iVG9Db2RlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzY1OjMtMzY1OjM5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjM2NTozLTM2NToxMCIgYWxpYXM9ImMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNjU6My0zNjU6OCIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIzNjU6MTItMzY1OjM5Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzY1OjE5LTM2NTozOSIgbmFtZT0iVG9Db2RlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM2NTozOCIgbmFtZT0iYyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kaW5nIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjM2NDozMi0zNjQ6NDgiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhdG9yPSIzNjQ6MzctMzY0OjQ3IiBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjM2NzoxLTM3MDozIiBuYW1lPSJUb1J4Tm9ybUNvZGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjM2ODozLTM3MDozIiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM2ODoxOC0zNzA6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzNjk6NS0zNjk6MTIiIGFsaWFzPSJDIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzY5OjUtMzY5OjEwIiBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMzY5OjE0LTM2OTo3NSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzY5OjIwLTM2OToyNyIgcGF0aD0ic3lzdGVtIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzY5OjMxLTM2OTo3NSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly93d3cubmxtLm5paC5nb3YvcmVzZWFyY2gvdW1scy9yeG5vcm0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMzY3OjM3LTM2Nzo1MyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2F0b3I9IjM2Nzo0Mi0zNjc6NTIiIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo=" }, { "contentType": "application/elm+json", - "data": "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvclZlcnNpb24iIDogIjEuNCIsCiAgICAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA3NiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogNzYsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA5OCwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogOTgsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiAxMjAsCiAgICAgICAgICJzdGFydENoYXIiIDogMTQsCiAgICAgICAgICJlbmRMaW5lIiA6IDEyMCwKICAgICAgICAgImVuZENoYXIiIDogOTYsCiAgICAgICAgICJtZXNzYWdlIiA6ICJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIsCiAgICAgICAgICJlcnJvclR5cGUiIDogInNlbWFudGljIiwKICAgICAgICAgImVycm9yU2V2ZXJpdHkiIDogIndhcm5pbmciLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciIKICAgICAgfSwgewogICAgICAgICAibGlicmFyeVN5c3RlbSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIsCiAgICAgICAgICJsaWJyYXJ5SWQiIDogIk9waW9pZENEU0NvbW1vbiIsCiAgICAgICAgICJsaWJyYXJ5VmVyc2lvbiIgOiAiMC4xLjEiLAogICAgICAgICAic3RhcnRMaW5lIiA6IDE0MiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogMTQyLAogICAgICAgICAiZW5kQ2hhciIgOiA5NiwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9LCB7CiAgICAgICAgICJsaWJyYXJ5U3lzdGVtIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiwKICAgICAgICAgImxpYnJhcnlJZCIgOiAiT3Bpb2lkQ0RTQ29tbW9uIiwKICAgICAgICAgImxpYnJhcnlWZXJzaW9uIiA6ICIwLjEuMSIsCiAgICAgICAgICJzdGFydExpbmUiIDogMTYxLAogICAgICAgICAic3RhcnRDaGFyIiA6IDE4LAogICAgICAgICAiZW5kTGluZSIgOiAxNjEsCiAgICAgICAgICJlbmRDaGFyIiA6IDEwMCwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9IF0sCiAgICAgICJpZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAic3lzdGVtIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiwKICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICB9LAogICAgICAic2NoZW1hSWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAidXJuOmhsNy1vcmc6ZWxtIiwKICAgICAgICAgInZlcnNpb24iIDogInIxIgogICAgICB9LAogICAgICAidXNpbmdzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiU3lzdGVtIiwKICAgICAgICAgICAgInVyaSIgOiAidXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOjEtMzoyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImluY2x1ZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU6MS01OjU0IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9GSElSSGVscGVycyIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNjoxLTY6NTYiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJPTVRLTG9naWMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PTVRLTG9naWNNSzIwMjAiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMC4xLjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc6MS03OjU5IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiQ29uZmlnIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImNvZGVTeXN0ZW1zIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjk6MS05OjM4IiwKICAgICAgICAgICAgIm5hbWUiIDogIkxPSU5DIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vbG9pbmMub3JnIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwOjEtMTA6NDUiLAogICAgICAgICAgICAibmFtZSIgOiAiU05PTUVEIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vc25vbWVkLmluZm8vc2N0IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAidmFsdWVTZXRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzOjEtMTM6MTYyIiwKICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1hbmFsZ2VzaWNzLXdpdGgtYW1idWxhdG9yeS1taXN1c2UtcG90ZW50aWFsIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OjEtMTQ6MTc0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkV4dGVuZGVkIHJlbGVhc2Ugb3Bpb2lkIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2V4dGVuZGVkLXJlbGVhc2Utb3Bpb2lkLXdpdGgtYW1idWxhdG9yeS1taXN1c2UtcG90ZW50aWFsIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1OjEtMTU6MTQwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkJ1cHJlbm9ycGhpbmUgYW5kIG1ldGhhZG9uZSBtZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9idXByZW5vcnBoaW5lLWFuZC1tZXRoYWRvbmUtbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTY6MS0xNjoxMjYiLAogICAgICAgICAgICAibmFtZSIgOiAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbm9uLXN5bnRoZXRpYy1vcGlvaWQtbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTk6MS0xOToxMzAiLAogICAgICAgICAgICAibmFtZSIgOiAiTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9saW1pdGVkLWxpZmUtZXhwZWN0YW5jeS1jb25kaXRpb25zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOjEtMjA6MTM2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRoZXJhcGllcyBpbmRpY2F0aW5nIGVuZCBvZiBsaWZlIGNhcmUiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvdGhlcmFwaWVzLWluZGljYXRpbmctZW5kLW9mLWxpZmUtY2FyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMToxLTIxOjE2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25zIGxpa2VseSB0ZXJtaW5hbCBmb3Igb3Bpb2lkIHByZXNjcmliaW5nIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtbGlrZWx5LXRlcm1pbmFsLWZvci1vcGlvaWQtcHJlc2NyaWJpbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjI6MS0yMjoxMjQiLAogICAgICAgICAgICAibmFtZSIgOiAiQ0RDIG1hbGlnbmFudCBjYW5jZXIgY29uZGl0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jZGMtbWFsaWduYW50LWNhbmNlci1jb25kaXRpb25zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOjEtMjM6MTMxIiwKICAgICAgICAgICAgIm5hbWUiIDogIk9uY29sb2d5IHNwZWNpYWx0eSBkZXNpZ25hdGlvbnMgKE5VQ0MpIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29uY29sb2d5LXNwZWNpYWx0eS1kZXNpZ25hdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ6MS0yNDoxMDgiLAogICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIG1pc3VzZSBkaXNvcmRlcnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLW1pc3VzZS1kaXNvcmRlcnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjU6MS0yNToxMzgiLAogICAgICAgICAgICAibmFtZSIgOiAiU3Vic3RhbmNlIG1pc3VzZSBiZWhhdmlvcmFsIGNvdW5zZWxpbmciLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvc3Vic3RhbmNlLW1pc3VzZS1iZWhhdmlvcmFsLWNvdW5zZWxpbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjY6MS0yNjoxNDAiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9ucyBkb2N1bWVudGluZyBzdWJzdGFuY2UgbWlzdXNlIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtZG9jdW1lbnRpbmctc3Vic3RhbmNlLW1pc3VzZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOToxLTI5Ojg2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9mZmljZSBWaXNpdCIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vZmZpY2UtdmlzaXQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzA6MS0zMDoxMTYiLAogICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGNvdW5zZWxpbmcgcHJvY2VkdXJlIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1jb3Vuc2VsaW5nLXByb2NlZHVyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjoxLTMyOjExNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9iZW56b2RpYXplcGluZS1tZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzoxLTMzOjEyNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJOb24tb3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L25vbi1vcGlvaWQtZHJ1Zy11cmluZS1zY3JlZW5pbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ6MS0zNDoxMDIiLAogICAgICAgICAgICAibmFtZSIgOiAiTmFsb3hvbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbmFsb3hvbmUtbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzU6MS0zNToxMzAiLAogICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIG1pc3VzZSBhc3Nlc3NtZW50IHByb2NlZHVyZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtbWlzdXNlLWFzc2Vzc21lbnQtcHJvY2VkdXJlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OjEtMzY6MTE2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtZHJ1Zy11cmluZS1zY3JlZW5pbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzc6MS0zNzoxMDAiLAogICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBEaXNwb3NpdGlvbiIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLWRpc3Bvc2l0aW9uIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4OjEtMzg6OTgiLAogICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBGaW5kaW5nIENvZGVzIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2hvc3BpY2UtZmluZGluZyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOToxLTM5OjEwMiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLXByb2NlZHVyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjEyNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPYnNlcnZhdGlvbiBDYXRlZ29yeSBMYWJvcmF0b3J5IiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29ic2VydmF0aW9uLWNhdGVnb3J5LWxhYm9yYXRvcnkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDE6MS00MToxMjIiLAogICAgICAgICAgICAibmFtZSIgOiAiT2JzZXJ2YXRpb24gQ2F0ZWdvcnkgUHJvY2VkdXJlIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29ic2VydmF0aW9uLWNhdGVnb3J5LXByb2NlZHVyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MjoxLTQyOjEwMCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYWluIHRyZWF0bWVudCBwbGFuIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BhaW4tdHJlYXRtZW50LXBsYW4iLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6MS00MzoxMTIiLAogICAgICAgICAgICAibmFtZSIgOiAiUGFpbiBtYW5hZ2VtZW50IHByb2NlZHVyZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wYWluLW1hbmFnZW1lbnQtcHJvY2VkdXJlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjEtNDQ6MTA0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBETVAgcmV2aWV3IHByb2NlZHVyZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wZG1wLXJldmlldy1wcm9jZWR1cmUiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MS00NToxMTQiLAogICAgICAgICAgICAibmFtZSIgOiAiUERNUCBkYXRhIHJldmlld2VkIGZpbmRpbmciLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGRtcC1kYXRhLXJldmlld2VkLWZpbmRpbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDY6MS00NjoxMTUiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29jYWluZSBVcmluZSBUZXN0cyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb2NhaW5lLXVyaW5lLWRydWctc2NyZWVuaW5nLXRlc3RzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ3OjEtNDc6MTE3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBDUCBVcmluZSBUZXN0cyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9waGVuY3ljbGlkaW5lLXVyaW5lLWRydWctc2NyZWVuaW5nLXRlc3RzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjEtNDk6MTA3IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvbW11bml0eSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9tZWRpY2F0aW9ucmVxdWVzdC1jYXRlZ29yeS1jb21tdW5pdHkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6MS01MDoxMTAiLAogICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIENvbmRpdGlvbiIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tY2xpbmljYWwtc3RhdHVzLWFjdGl2ZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MToxLTUxOjExNyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3Qtc3RhdHVzLWFjdGl2ZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzoxLTUzOjEzOCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tZW5jb3VudGVyLWRpYWdub3Npcy1jYXRlZ29yeSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxLTU0OjEyNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbi1wcm9ibGVtLWxpc3QtY2F0ZWdvcnkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTU6MS01NToxNDQiLAogICAgICAgICAgICAibmFtZSIgOiAiVVMgQ29yZSBIZWFsdGggQ29uY2VybiBDb25kaXRpb24gQ2F0ZWdvcnkiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXVzLWNvcmUtaGVhbHRoLWNvbmNlcm4tY2F0ZWdvcnkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb250ZXh0cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxLTU5OjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAic3RhdGVtZW50cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxLTU5OjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxLTU5OjE1IiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNjM6MS02Nzo2OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWQgT3RoZXIgVGhhbiBTeW50aGV0aWMgT3JkZXJlZCBJbiBMYXN0IDEyIE1vbnRocyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NDozLTY3OjY4IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjMtNjQ6NjIiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjQ6My02NDo1OSIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NDozMy02NDo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjctNjc6NjgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjEzLTY2OjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MTMtNjU6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTozNy02NTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MTMtNjU6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MjMtNjU6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjM3LTY1OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjY1LTY1OjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTo2NS02NTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MzctNjU6NDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTo2NS02NTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MzctNjU6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MzctNjU6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6NjUtNjU6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjY6MTEtNjY6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NjoxMS02NjoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NjoyOC02NjozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Njo0MS02Nzo2OCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjQyLTY2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Njo0Mi02Njo1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjU5LTY2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MTEtNjc6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MTUtNjc6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MTYtNjc6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NzozMy02Nzo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJOb24tc3ludGhldGljIG9waW9pZCBtZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzU6MS0xMzg6MzYiLAogICAgICAgICAgICAibmFtZSIgOiAiR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE1lZGljYXRpb24gUmVxdWVzdHMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM2OjMtMTM4OjM2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNjozLTEzNjoxMCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzY6My0xMzY6NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6NS0xMzg6MzYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MTEtMTM3OjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MTEtMTM3OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MTEtMTM3OjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM3OjI5LTEzNzozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhY3RpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzODoxMS0xMzg6MzYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzODoxMS0xMzg6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM4OjI2LTEzODozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM1OjY4LTEzNTo5MCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzU6NzMtMTM1Ojg5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2OToxLTg5OjkiLAogICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcwOjMtODk6OSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MDozLTc1OjYiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzA6My03NTozIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjUtNzE6MTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjUtNzE6MTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MTo1MC03MToxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzE6ODAtNzE6MTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjctNzQ6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjEzLTczOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MTMtNzI6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjozNy03Mjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MTMtNzI6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MjMtNzI6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjM3LTcyOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjY2LTcyOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mjo2Ni03Mjo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MzctNzI6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6NjYtNzI6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjM3LTcyOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjM3LTcyOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjY2LTcyOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjEzLTczOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MTMtNzM6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MzAtNzM6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6NDMtNzQ6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo0My03MzoxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6NDMtNzM6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo2MC03MzoxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc0OjEzLTc0OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NDoxMy03NDoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NDoyOC03NDozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc2OjktNzY6OTYiLAogICAgICAgICAgICAgICAgICAiaWRlbnRpZmllciIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MTQtNzY6OTYiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9MaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MzMtNzY6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MzktNzY6OTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc2OjQ1LTc2Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6NDUtNzY6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Njo0Ni03Njo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Njo2My03Njo3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0b3IiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6OTAtNzY6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjUtNzc6MTA5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxMS03Nzo0MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxNC03Nzo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjE1LTc3OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjMyLTc3OjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Nzo0Ni03NzoxMDkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjQ2LTc3OjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjQ2LTc3OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Nzo1OC03NzoxMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc4OjctODk6OSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjktODk6OSIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDoxNS04MDoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjE5LTgxOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjE5LTgyOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImludGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6MjEtODM6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDoyMy04NDoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg0OjI2LTg0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6MjYtODQ6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NDMtODQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo1OC04NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGaXJzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NjQtODQ6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NjQtODQ6NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo3OS04NDoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo3OS04NDo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo5Ni04NDoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODU6MjAtODU6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3ViamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODY6MjEtODY6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjMwLTg3OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkaXNwZW5zZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODg6MjgtODg6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6MS0xMTE6OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgQW1idWxhdG9yeSBCZW56b2RpYXplcGluZSBSeCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozLTExMTo5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjMtOTc6NiIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozLTk3OjMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NS05MzoxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NS05MzoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE1lZGljYXRpb24gUmVxdWVzdHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjUwLTkzOjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo4MC05MzoxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6Ny05NjozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MTMtOTU6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDoxMy05NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjM3LTk0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDoxMy05NDozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlRnJvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDoyMy05NDozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MzctOTQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6NjYtOTQ6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjY2LTk0OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDozNy05NDo0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAieWVhcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDo2Ni05NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MzctOTQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MzctOTQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6NjYtOTQ6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6MTMtOTU6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NToxMy05NToyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NTozMC05NTozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NTo0My05NjozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk1OjQzLTk1Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk1OjQzLTk1OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6NjAtOTU6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk2OjEzLTk2OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoxMy05NjoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoyOC05NjozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjktOTg6OTYiLAogICAgICAgICAgICAgICAgICAiaWRlbnRpZmllciIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6MTQtOTg6OTYiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9MaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6MzMtOTg6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6MzktOTg6OTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjQ1LTk4Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6NDUtOTg6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODo0Ni05ODo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODo2My05ODo3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0b3IiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6OTAtOTg6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjUtOTk6ODUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjExLTk5OjQxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjE0LTk5OjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6MTUtOTk6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6MzItOTk6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjQ2LTk5Ojg1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTo0Ni05OTo1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTo0Ni05OTo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6NTgtOTk6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDo3LTExMTo5IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAxOjktMTExOjkiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjE1LTEwMjoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMzoxOS0xMDM6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA0OjE5LTEwNDoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNToyMS0xMDU6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6MjMtMTA2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjI2LTEwNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjoyNi0xMDY6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjQzLTEwNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjo1OC0xMDY6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRmlyc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjo2NC0xMDY6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjY0LTEwNjo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjo3OS0xMDY6MTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2Ojc5LTEwNjo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6OTYtMTA2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3ViamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDc6MjAtMTA3OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlY29yZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwODoyMS0xMDg6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwOTozMC0xMDk6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MjgtMTEwOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzoxLTEzMzo5IiwKICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBBbWJ1bGF0b3J5IE5hbG94b25lIFJ4IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDozLTEzMzo5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDozLTExOTo2IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDozLTExOTozIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo1LTExNToxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjUtMTE1OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjUwLTExNToxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjgwLTExNToxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjctMTE4OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MTMtMTE3OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjEzLTExNjo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjozNy0xMTY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjoxMy0xMTY6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjIzLTExNjozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjM3LTExNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjYtMTE2OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjYtMTE2OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MzctMTE2OjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo2Ni0xMTY6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjozNy0xMTY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjM3LTExNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjYtMTE2OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzoxMy0xMTc6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTc6MTMtMTE3OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzozMC0xMTc6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjQzLTExODozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzo0My0xMTc6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjQzLTExNzo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzo2MC0xMTc6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTmFsb3hvbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMy0xMTg6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMy0xMTg6MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjI4LTExODozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo5LTEyMDo5NiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjA6MTQtMTIwOjk2IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDozMy0xMjA6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjM5LTEyMDo5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTcGxpdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdUb1NwbGl0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjQ1LTEyMDo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo0NS0xMjA6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjA6NDYtMTIwOjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo2My0xMjA6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo5MC0xMjA6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTo1LTEyMTo3OSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIxOjExLTEyMTo0MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6MTQtMTIxOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIxOjE1LTEyMToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6MzItMTIxOjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6NDYtMTIxOjc5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6NDYtMTIxOjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTo0Ni0xMjE6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTo1OC0xMjE6NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTmFsb3hvbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMjo3LTEzMzo5IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIzOjktMTMzOjkiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI0OjE1LTEyNDoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNToxOS0xMjU6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI2OjE5LTEyNjoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNzoyMS0xMjc6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjg6MjMtMTI4OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjI2LTEyODo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODoyNi0xMjg6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjQzLTEyODo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODo1OC0xMjg6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRmlyc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODo2NC0xMjg6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjY0LTEyODo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODo3OS0xMjg6MTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4Ojc5LTEyODo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjg6OTYtMTI4OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3ViamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjk6MjAtMTI5OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlY29yZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDoyMS0xMzA6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMTozMC0xMzE6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzI6MjgtMTMyOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MDoxLTE1Nzo3IiwKICAgICAgICAgICAgIm5hbWUiIDogIklzIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWw/IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MTozLTE1Nzo3IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MTozLTE0MToxMCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDE6My0xNDE6NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo5LTE0Mjo5NiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDI6MTQtMTQyOjk2IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MjozMy0xNDI6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQyOjM5LTE0Mjo5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTcGxpdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdUb1NwbGl0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQyOjQ1LTE0Mjo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo0NS0xNDI6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDI6NDYtMTQyOjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo2My0xNDI6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo5MC0xNDI6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mzo1LTE0NDozNiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjExLTE0Mzo0MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDM6MTQtMTQzOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjE1LTE0MzoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDM6MzItMTQzOjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDM6NDYtMTQ0OjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjQ2LTE0MzoxMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mzo0Ni0xNDM6NTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjQ2LTE0Mzo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjU4LTE0MzoxMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NDoxMS0xNDQ6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NDoxMS0xNDQ6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ0OjI2LTE0NDozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDU6NS0xNTc6NyIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Njo3LTE1Nzo3IiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NzoxMy0xNDc6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDg6MTctMTQ4OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OToxNy0xNDk6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6MTktMTUwOjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUxOjIxLTE1MToxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MToyNC0xNTE6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTE6MjQtMTUxOjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MTo0MS0xNTE6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTE6NTYtMTUxOjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZpcnN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTE6NjItMTUxOjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MTo2Mi0xNTE6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTE6NzctMTUxOjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MTo3Ny0xNTE6ODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUxOjk0LTE1MToxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUyOjE4LTE1MjoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdWJqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MzoyMS0xNTM6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU0OjE5LTE1NDoyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWNvcmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU1OjI4LTE1NTo0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NjoyNi0xNTY6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjc5LTE0MDoxMDEiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjg0LTE0MDoxMDAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1OTo1LTE3NjoxNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJcyBCZW56b2RpYXplcGluZT8iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYwOjctMTc2OjE1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MDo3LTE2MDoxNCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjA6Ny0xNjA6MTEiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJsZXQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjE6MTMtMTYxOjEwMCIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjE6MTgtMTYxOjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0xpc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjE6MzctMTYxOjk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxhc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MTo0My0xNjE6OTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MTo0OS0xNjE6OTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjE6NDktMTYxOjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYxOjUwLTE2MTo2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjE6NjctMTYxOjgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcGFyYXRvciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjE6OTQtMTYxOjk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjI6OS0xNjM6NDAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MjoxNS0xNjI6NDUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYyOjE4LTE2Mjo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MjoxOS0xNjI6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYyOjM2LTE2Mjo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYyOjUwLTE2Mzo0MCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Mjo1MC0xNjI6ODkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Mjo1MC0xNjI6NTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYyOjUwLTE2Mjo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYyOjYyLTE2Mjo4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYzOjE1LTE2Mzo0MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbnlJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYzOjE1LTE2MzoyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjM6MzAtMTYzOjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvbW11bml0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NDo5LTE3NjoxNSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NToxNS0xNzY6MTUiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY2OjIxLTE2NjoyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NzoyNS0xNjc6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY4OjI1LTE2ODozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OToyNy0xNjk6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzA6MjktMTcwOjExNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcwOjMyLTE3MDo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MDozMi0xNzA6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcwOjQ5LTE3MDo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MDo2NC0xNzA6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRmlyc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MDo3MC0xNzA6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcwOjcwLTE3MDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MDo4NS0xNzA6MTE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcwOjg1LTE3MDo5NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzA6MTAyLTE3MDoxMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcxOjI2LTE3MTozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdWJqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MjoyOS0xNzI6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTczOjI3LTE3MzozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWNvcmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc0OjM2LTE3NDo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NTozNC0xNzU6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU5OjQ4LTE1OTo3MCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTk6NTMtMTU5OjY5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTI6MS0xOTU6NzgiLAogICAgICAgICAgICAibmFtZSIgOiAiVVMgQ29yZS1DYXRlZ29yaXplZCBDb25kaXRpb25zIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MzozLTE5NTo3OCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJVbmlvbiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkzOjMtMTk0OjY4IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlVuaW9uIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTM6My0xOTM6NjciLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MzoyNy0xOTM6NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRW5jb3VudGVyIERpYWdub3NpcyBDb25kaXRpb24gQ2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDoxMS0xOTQ6NjgiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NDozNS0xOTQ6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUHJvYmxlbSBMaXN0IENvbmRpdGlvbiBDYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NToxMS0xOTU6NzgiLAogICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NTozNS0xOTU6NzciLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVVMgQ29yZSBIZWFsdGggQ29uY2VybiBDb25kaXRpb24gQ2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NzoxLTIwODozIiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvbmRpdGlvbnMgSW5kaWNhdGluZyBFbmQgb2YgTGlmZSBvciBXaXRoIExpbWl0ZWQgTGlmZSBFeHBlY3RhbmN5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5ODozLTIwODozIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlVuaW9uIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTg6My0yMDI6MyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTk6NS0xOTk6MzgiLAogICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkMiLAogICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTk6NS0xOTk6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVVMgQ29yZS1DYXRlZ29yaXplZCBDb25kaXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMDo3LTIwMTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMDoxMy0yMDA6NzMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMDoxMy0yMDA6MTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDA6MjMtMjAwOjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMToxMy0yMDE6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwMToxMy0yMDE6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2xpbmljYWxTdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjAxOjMzLTIwMTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDQ6My0yMDg6MyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDU6NS0yMDU6MzgiLAogICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkMiLAogICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDU6NS0yMDU6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVVMgQ29yZS1DYXRlZ29yaXplZCBDb25kaXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNjo3LTIwNzo1MCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNjoxMy0yMDY6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNjoxMy0yMDY6MTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDY6MjMtMjA2OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5IGNvbmRpdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNzoxMy0yMDc6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNzoxMy0yMDc6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2xpbmljYWxTdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA3OjMzLTIwNzo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjA6Mi0zNjI6MTMiLAogICAgICAgICAgICAibmFtZSIgOiAiU2VydmljZSBSZXF1ZXN0cyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjE6NC0zNjI6MTMiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzYxOjQtMzYxOjIyIiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJTUiIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MTo0LTM2MToxOSIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1NlcnZpY2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzYyOjUtMzYyOjEzIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzYyOjEyLTM2MjoxMyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTUiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjEwOjEtMjQwOjMiLAogICAgICAgICAgICAibmFtZSIgOiAiQWRtaXR0ZWQvUmVmZXJyZWQvRGlzY2hhcmdlZCB0byBIb3NwaWNlIENhcmUiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjExOjMtMjQwOjMiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiVW5pb24iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjExOjMtMjIwOjMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVW5pb24iLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjExOjMtMjE0OjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEyOjUtMjEyOjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJQIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEyOjUtMjEyOjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1Byb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMjoyNS0yMTI6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMzo3LTIxMzo2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEzOjEzLTIxMzoyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEzOjEzLTIxMzoyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEzOjMxLTIxMzo2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTM6MzMtMjEzOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImluLXByb2dyZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMzo0OC0yMTM6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiY29tcGxldGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE2OjMtMjIwOjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE3OjUtMjE3OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJTUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNzo1LTIxNzoyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTZXJ2aWNlIFJlcXVlc3RzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODo3LTIxOTo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODoxMy0yMTg6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODoxMy0yMTg6MTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiU1IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjI0LTIxODo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE5OjEzLTIxOTo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE5OjEzLTIxOToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE5OjEzLTIxOToyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlNSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxOTozMi0yMTk6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE5OjM0LTIxOTo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhY3RpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE5OjQ0LTIxOTo1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJjb21wbGV0ZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbmNvdW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVW5pb24iLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjI6My0yMjg6MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIzOjgtMjIzOjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkhvc3BpY2UgRmluZGluZ3MgRXhjbHVzaW9uIEVuYWJsZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkNvbmZpZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjQ6Ny0yMjU6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI0OjctMjI0OjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJPIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI0OjctMjI0OjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1PYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vT2JzZXJ2YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjQ6MjktMjI0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkhvc3BpY2UgRmluZGluZyBDb2RlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI1OjktMjI1Ojg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNToxOS0yMjU6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNToyMC0yMjU6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNToyMC0yMjU6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJPIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNTozOC0yMjU6ODMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI1OjQwLTIyNTo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ1bmtub3duIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNTo1MS0yMjU6NjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiZW50ZXJlZC1pbi1lcnJvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjU6NzEtMjI1OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImNhbmNlbGxlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjc6Ny0yMjc6OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbmNvdW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMwOjMtMjQwOjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMxOjUtMjMxOjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMxOjUtMjMxOjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbmNvdW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0VuY291bnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMyOjctMjM5OjkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMyOjEzLTIzODo5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMyOjEzLTIzMjo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMjozOC0yMzI6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMjoxMy0yMzI6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMyOjIzLTIzMjozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMyOjIzLTIzMjozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJwZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMyOjM4LTIzMjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzI6NjYtMjMyOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzI6NjYtMjMyOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzI6MzgtMjMyOjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMyOjY2LTIzMjo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMyOjM4LTIzMjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzI6MzgtMjMyOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMjo2Ni0yMzI6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMzOjEzLTIzODo5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzQ6MTQtMjM1Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzQ6MTQtMjM0OjY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNDoxNC0yMzQ6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzQ6MTQtMjM0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc2NoYXJnZURpc3Bvc2l0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzQ6MTQtMjM0OjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImhvc3BpdGFsaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM1OjE4LTIzNTo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6MjItMjM1Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNToyOS0yMzU6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6MzAtMjM1OjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc2NoYXJnZURpc3Bvc2l0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6MzAtMjM1OjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImhvc3BpdGFsaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM2OjE4LTIzNjoyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiZmFsc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjE2LTIzNzo3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjE2LTIzNzo1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjE2LTIzNzozMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJob3NwaXRhbGl6YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzc6NTgtMjM3Ojc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkhvc3BpY2UgRGlzcG9zaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOToxMy0yMzk6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOToxMy0yMzk6MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOToxMy0yMzk6MjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOTozMS0yMzk6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM5OjMzLTIzOTo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJwbGFubmVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOTo0NC0yMzk6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiYXJyaXZlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzk6NTUtMjM5OjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImluLXByb2dyZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOTo3MC0yMzk6NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiZmluaXNoZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM5OjgyLTIzOTo5MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJvbmxlYXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UHJvY2VkdXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RW5jb3VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UHJvY2VkdXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RW5jb3VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzg6MS0xODY6NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJFbmQgb2YgTGlmZSBBc3Nlc3NtZW50IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MDo1LTE4Njo1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODA6NS0xODI6NSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODA6MTItMTgyOjUiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9ucyBJbmRpY2F0aW5nIEVuZCBvZiBMaWZlIG9yIFdpdGggTGltaXRlZCBMaWZlIEV4cGVjdGFuY3kiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODQ6OC0xODY6NSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODQ6MTUtMTg2OjUiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWRtaXR0ZWQvUmVmZXJyZWQvRGlzY2hhcmdlZCB0byBIb3NwaWNlIENhcmUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjc6MS0yNjg6MzYiLAogICAgICAgICAgICAibmFtZSIgOiAiUHJldmlvdXMgMTAgRGF5cyBJbnRlcnZhbCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjg6MS0yNjg6MzYiLAogICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY4OjEwLTI2ODoyNiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY4OjEwLTI2ODoxNiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY4OjIwLTI2ODoyNiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxMCwKICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogImRheXMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjg6MjktMjY4OjM1IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjcwOjEtMjcxOjQ4IiwKICAgICAgICAgICAgIm5hbWUiIDogIkZpcnN0IE1vbnRoIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MToxLTI3MTo0OCIsCiAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzE6MTAtMjcxOjI3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzE6MTAtMjcxOjE2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzE6MjAtMjcxOjI3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDMsCiAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aHMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzE6MzAtMjcxOjQ3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzE6MzAtMjcxOjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzE6NDAtMjcxOjQ3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDIsCiAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aHMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjczOjEtMjc0OjQ4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlNlY29uZCBNb250aCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzQ6MS0yNzQ6NDgiLAogICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc0OjEwLTI3NDoyNyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc0OjEwLTI3NDoxNiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc0OjIwLTI3NDoyNyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAyLAogICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAibW9udGhzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc0OjMwLTI3NDo0NyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc0OjMwLTI3NDozNiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc0OjQwLTI3NDo0NyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxLAogICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAibW9udGhzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3NjoxLTI3NzozNyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUaGlyZCBNb250aCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzc6MS0yNzc6MzciLAogICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc3OjEwLTI3NzoyNyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc3OjEwLTI3NzoxNiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc3OjIwLTI3NzoyNyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxLAogICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAibW9udGhzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc3OjMwLTI3NzozNiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwODoxLTMyMjo3IiwKICAgICAgICAgICAgIm5hbWUiIDogIkdldER1cmF0aW9uSW5EYXlzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOTozLTMyMjo3IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDk6Ni0zMDk6MTgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA5OjYtMzA5OjEwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDk6MjUtMzA5OjI4IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzExOjUtMzIyOjciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FzZSIsCiAgICAgICAgICAgICAgICAgICJjYXNlSXRlbSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMjo3LTMxMjo2NCIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMjoxMi0zMTI6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1aXZhbGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzEyOjEyLTMxMjoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzEyOjEyLTMxMjoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTI6MTItMzEyOjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTI6MzEtMzEyOjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMjo0MC0zMTI6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTXVsdGlwbHkiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMjo0MC0zMTI6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMjo0MC0zMTI6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMjo0MC0zMTI6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMjo2MC0zMTI6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjM2NS4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMzo3LTMxMzo2NCIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMzoxMi0zMTM6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1aXZhbGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzEzOjEyLTMxMzoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzEzOjEyLTMxMzoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTM6MTItMzEzOjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTM6MzEtMzEzOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTM6NDEtMzEzOjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk11bHRpcGx5IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTM6NDEtMzEzOjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTM6NDEtMzEzOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTM6NDEtMzEzOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTM6NjEtMzEzOjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIzMC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNDo3LTMxNDo2MyIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNDoxMi0zMTQ6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1aXZhbGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE0OjEyLTMxNDoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE0OjEyLTMxNDoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTQ6MTItMzE0OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTQ6MzEtMzE0OjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIndrIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTQ6NDEtMzE0OjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk11bHRpcGx5IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTQ6NDEtMzE0OjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTQ6NDEtMzE0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTQ6NDEtMzE0OjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTQ6NjEtMzE0OjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI3LjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE1OjctMzE1OjU2IiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE1OjEyLTMxNTozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTU6MTItMzE1OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTU6MTItMzE1OjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNToxMi0zMTU6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNTozMS0zMTU6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE1OjQwLTMxNTo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE1OjQwLTMxNTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE1OjQwLTMxNTo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTY6Ny0zMTY6NjMiLAogICAgICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTY6MTItMzE2OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWl2YWxlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNjoxMi0zMTY6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNjoxMi0zMTY6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE2OjEyLTMxNjoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE2OjMxLTMxNjozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTY6NDAtMzE2OjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE2OjQwLTMxNjo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE2OjQwLTMxNjo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE2OjQwLTMxNjo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE2OjYwLTMxNjo2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjQuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTc6Ny0zMTc6NzIiLAogICAgICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTc6MTItMzE3OjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWl2YWxlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNzoxMi0zMTc6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNzoxMi0zMTc6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE3OjEyLTMxNzoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE3OjMxLTMxNzozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJtaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNzo0Mi0zMTc6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTc6NDItMzE3OjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE3OjQyLTMxNzo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE3OjQyLTMxNzo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE3OjQyLTMxNzo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE3OjYyLTMxNzo2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiNjAuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE3OjY5LTMxNzo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjQuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTg6Ny0zMTg6NzciLAogICAgICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTg6MTItMzE4OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWl2YWxlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxODoxMi0zMTg6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxODoxMi0zMTg6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE4OjEyLTMxODoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE4OjMxLTMxODozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTg6NDAtMzE4Ojc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE4OjQwLTMxODo3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxODo0MC0zMTg6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTg6NDAtMzE4OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTg6NDAtMzE4OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTg6NDAtMzE4OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTg6NjAtMzE4OjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI2MC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTg6NjctMzE4OjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI2MC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTg6NzQtMzE4Ojc3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyNC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxOTo3LTMxOTo4NyIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxOToxMi0zMTk6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1aXZhbGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5OjEyLTMxOToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5OjEyLTMxOToyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTk6MTItMzE5OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTk6MzEtMzE5OjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm1zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTk6NDEtMzE5Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5OjQxLTMxOTo3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxOTo0MS0zMTk6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTk6NDEtMzE5OjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5OjQxLTMxOTo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5OjQxLTMxOTo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5OjQxLTMxOTo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5OjYxLTMxOTo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiNjAuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5OjY4LTMxOTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiNjAuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5Ojc1LTMxOTo3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjQuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE5OjgyLTMxOTo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMTAwMC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMDo3LTMyMDoxMTIiLAogICAgICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjA6MTItMzIwOjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMDoxMi0zMjA6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMDoxMi0zMjA6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzIwOjEyLTMyMDoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjA6NDItMzIwOjExMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJNZXNzYWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjA6NTAtMzIwOjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzIwOjU2LTMyMDo1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjA6NjItMzIwOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIlVuZGVmaW5lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2V2ZXJpdHkiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzIwOjc1LTMyMDo4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJFcnJvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAibWVzc2FnZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjA6ODQtMzIwOjExMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJEdXJhdGlvbiB1bml0IGNvZGUgaXMgbnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvRGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMToxMi0zMjE6MTA3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk1lc3NhZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMToyMC0zMjE6MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjEwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjE6MjYtMzIxOjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMTozMi0zMjE6NDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiVW5kZWZpbmVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzZXZlcml0eSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjE6NDUtMzIxOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkVycm9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJtZXNzYWdlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMTo1NC0zMjE6MTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjE6NTQtMzIxOjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIlVuc3VwcG9ydGVkIGR1cmF0aW9uIHVuaXQgY29kZTogIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMTo5MS0zMjE6MTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjE6OTEtMzIxOjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjE6OTEtMzIxOjk1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwODo0MS0zMDg6NTMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RHVyYXRpb24iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODQ6MS0yOTM6MTEiLAogICAgICAgICAgICAibmFtZSIgOiAiUHJlc2NyaXB0aW9uIFJlbGV2YW50IFBlcmlvZCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODU6My0yOTM6MTEiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4NTo2LTI4ODozIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg2OjUtMjg2Ojg0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg2OjUtMjg2OjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Njo1LTI4NjozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6NS0yODY6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg2OjUtMjg2OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6NDUtMjg2Ojg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Njo0NS0yODY6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg2OjQ1LTI4Njo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkaXNwZW5zZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Njo0NS0yODY6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODc6MTEtMjg3OjczIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4NzoxMS0yODc6NzMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg3OjExLTI4Nzo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJleHBlY3RlZFN1cHBseUR1cmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODc6MTEtMjg3OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg3OjExLTI4NzoyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg5OjgtMjkyOjMiLAogICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkwOjUtMjkwOjM3IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRhdGVGcm9tIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MDoxNS0yOTA6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkwOjE1LTI5MDoyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTE6NS0yOTE6MTUwIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFkZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkxOjUtMjkxOjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRhdGVGcm9tIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MToxNS0yOTE6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkxOjE1LTI5MToyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTE6NDEtMjkxOjE1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MTo2NS0yOTE6MTM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldER1cmF0aW9uSW5EYXlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTE6ODMtMjkxOjEzMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJleHBlY3RlZFN1cHBseUR1cmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTE6ODMtMjkxOjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkaXNwZW5zZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MTo4My0yOTE6OTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ1bml0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MToxNDMtMjkxOjE0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJkYXlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkzOjgtMjkzOjExIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgInBvaW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODQ6NjEtMjg0OjgyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjk1OjEtMzA0OjMiLAogICAgICAgICAgICAibmFtZSIgOiAiRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk2OjMtMzA0OjMiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU3VtIiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTc6NS0zMDM6ODEiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk3OjUtMzAyOjIzIiwKICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJPcGlvaWRVc2VJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5Nzo1LTMwMjo1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbGxhcHNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTg6MTYtMzAxOjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk5OjktMjk5OjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiT3Bpb2lkUHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk5OjktMjk5OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTk6MjktMjk5OjgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAwOjktMzAwOjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAwOjE2LTMwMDo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnNlY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMDoxNi0zMDA6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUHJlc2NyaXB0aW9uIFJlbGV2YW50IFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAwOjQ4LTMwMDo2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWRQcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDA6NzktMzAwOjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlc3VsdFR5cGVOYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjctMzAzOjgxIiwKICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjE0LTMwMzo4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjaXNpb24iIDogIkRheSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEdXJhdGlvbkJldHdlZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMzoyNy0zMDM6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDM6MzYtMzAzOjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZFVzZUludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMzo1OC0zMDM6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjY1LTMwMzo4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWRVc2VJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJwZXJpb2QiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk1OjU2LTI5NTo2OSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAicG9pbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NTo2NS0yOTU6NjgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzk6MS0yODI6NjAiLAogICAgICAgICAgICAibmFtZSIgOiAiUHJlc2NyaWJlZCBPcGlvaWRzIGZvciAyMSBvciBtb3JlIG9mIDMwIERheXMgZm9yIGVhY2ggb2YgdGhlIHBhc3QgMyBNb250aHMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgwOjMtMjgyOjYwIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgwOjMtMjgxOjYxIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgwOjMtMjgwOjU0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkdyZWF0ZXJPckVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6My0yODA6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MDozNS0yODA6NDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRmlyc3QgTW9udGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MDo1My0yODA6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODE6OS0yODE6NjEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlck9yRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MTo5LTI4MTo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgxOjQxLTI4MTo1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTZWNvbmQgTW9udGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MTo2MC0yODE6NjEiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgyOjktMjgyOjYwIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkdyZWF0ZXJPckVxdWFsIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODI6OS0yODI6NTQiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Mjo0MS0yODI6NTMiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVGhpcmQgTW9udGgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Mjo1OS0yODI6NjAiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjIxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6MS0zNDA6NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb2RpbmdUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzI6My0zNDA6NyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMyOjYtMzMyOjIxIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjo3LTMzMjoxMiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjgtMzMzOjExIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM1OjUtMzQwOjciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzU6NS0zMzk6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzU6NS0zMzk6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzU6NS0zMzg6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzU6NS0zMzg6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzU6NS0zMzc6MzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzU6NS0zMzc6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzU6NS0zMzY6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzU6NS0zMzY6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzU6NS0zMzU6MTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiQ29kZSB7IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzNjo3LTMzNjoxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJjb2RlOiAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzY6MTgtMzM2OjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzNjoxOC0zMzY6MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzNzo3LTMzNzoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJzeXN0ZW06ICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzNzoyMC0zMzc6MzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzc6MjAtMzM3OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzg6Ny0zMzg6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidmVyc2lvbjogIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM4OjIxLTMzODozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2ZXJzaW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzg6MjEtMzM4OjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzk6Ny0zMzk6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiZGlzcGxheTogIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM5OjIxLTMzOTozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkaXNwbGF5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzk6MjEtMzM5OjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDA6NS0zNDA6NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ9IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMxOjM5LTMzMTo0OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDI6MS0zNTA6OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb2RlYWJsZUNvbmNlcHRUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDM6My0zNTA6OSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQzOjYtMzQzOjQ4IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDM6Ny0zNDM6MjEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQzOjctMzQzOjEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDM6MjYtMzQzOjQ3IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0MzoyNi0zNDM6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDM6MjYtMzQzOjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ0OjgtMzQ0OjExIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk51bGwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ2OjUtMzUwOjkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDY6NS0zNDk6MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDY6NS0zNDg6NzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDY6NS0zNDc6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDY6NS0zNDY6MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiQ29kZWFibGVDb25jZXB0IHsiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ3OjctMzQ3OjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkNvZGluZzogWyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDg6OS0zNDg6NzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29tYmluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ4OjE3LTM0ODo2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDg6MTctMzQ4OjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJDb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDg6MTctMzQ4OjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDg6MzktMzQ4OjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ4OjQ2LTM0ODo2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb2RpbmdUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ4OjYxLTM0ODo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcGFyYXRvciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDg6NzAtMzQ4OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDk6OS0zNDk6MTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiXSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTA6Ny0zNTA6OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ9IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25jZXB0IiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Mjo0OS0zNDI6NjgiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzI3OjEtMzI4OjQ2IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvZGVhYmxlQ29uY2VwdHNUb1N0cmluZyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6My0zMjg6NDYiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI4OjMtMzI4OjEyIiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJjIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI4OjMtMzI4OjEwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHRzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6MTQtMzI4OjQ2IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI4OjIxLTMyODo0NiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb2RlYWJsZUNvbmNlcHRUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI4OjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25jZXB0cyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6NTEtMzI3Ojc2IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNzo1Ni0zMjc6NzUiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTI6MS0zNTM6MzkiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9Db2RlcyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTM6My0zNTM6MzkiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzUzOjMtMzUzOjEwIiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJjIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzUzOjMtMzUzOjgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTM6MTItMzUzOjM5IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzUzOjE5LTM1MzozOSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvZGUiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTM6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiYyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTI6MzItMzUyOjQ4IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MjozNy0zNTI6NDciLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTU6MS0zNTg6MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb1J4Tm9ybUNvZGUiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU2OjMtMzU4OjMiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NjoxOC0zNTg6MyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTc6NS0zNTc6MTIiLAogICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkMiLAogICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTc6NS0zNTc6MTAiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NzoxNC0zNTc6NzUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU3OjIwLTM1NzoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzeXN0ZW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTc6MzEtMzU3Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImh0dHA6Ly93d3cubmxtLm5paC5nb3YvcmVzZWFyY2gvdW1scy9yeG5vcm0iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTU6MzctMzU1OjUzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NTo0Mi0zNTU6NTIiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9IF0KICAgICAgfQogICB9Cn0=" + "data": "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvclZlcnNpb24iIDogIjEuNCIsCiAgICAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA3NiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogNzYsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA5OCwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogOTgsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiAxMjAsCiAgICAgICAgICJzdGFydENoYXIiIDogMTQsCiAgICAgICAgICJlbmRMaW5lIiA6IDEyMCwKICAgICAgICAgImVuZENoYXIiIDogOTYsCiAgICAgICAgICJtZXNzYWdlIiA6ICJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIsCiAgICAgICAgICJlcnJvclR5cGUiIDogInNlbWFudGljIiwKICAgICAgICAgImVycm9yU2V2ZXJpdHkiIDogIndhcm5pbmciLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciIKICAgICAgfSwgewogICAgICAgICAibGlicmFyeVN5c3RlbSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIsCiAgICAgICAgICJsaWJyYXJ5SWQiIDogIk9waW9pZENEU0NvbW1vbiIsCiAgICAgICAgICJsaWJyYXJ5VmVyc2lvbiIgOiAiMC4xLjEiLAogICAgICAgICAic3RhcnRMaW5lIiA6IDE0MiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogMTQyLAogICAgICAgICAiZW5kQ2hhciIgOiA5NiwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9LCB7CiAgICAgICAgICJsaWJyYXJ5U3lzdGVtIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiwKICAgICAgICAgImxpYnJhcnlJZCIgOiAiT3Bpb2lkQ0RTQ29tbW9uIiwKICAgICAgICAgImxpYnJhcnlWZXJzaW9uIiA6ICIwLjEuMSIsCiAgICAgICAgICJzdGFydExpbmUiIDogMTY3LAogICAgICAgICAic3RhcnRDaGFyIiA6IDE4LAogICAgICAgICAiZW5kTGluZSIgOiAxNjcsCiAgICAgICAgICJlbmRDaGFyIiA6IDEwMCwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9IF0sCiAgICAgICJpZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAic3lzdGVtIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiwKICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICB9LAogICAgICAic2NoZW1hSWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAidXJuOmhsNy1vcmc6ZWxtIiwKICAgICAgICAgInZlcnNpb24iIDogInIxIgogICAgICB9LAogICAgICAidXNpbmdzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiU3lzdGVtIiwKICAgICAgICAgICAgInVyaSIgOiAidXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOjEtMzoyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImluY2x1ZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU6MS01OjU0IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9GSElSSGVscGVycyIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNjoxLTY6NTYiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJPTVRLTG9naWMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PTVRLTG9naWNNSzIwMjAiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMC4xLjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc6MS03OjU5IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiQ29uZmlnIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImNvZGVTeXN0ZW1zIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjk6MS05OjM4IiwKICAgICAgICAgICAgIm5hbWUiIDogIkxPSU5DIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vbG9pbmMub3JnIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwOjEtMTA6NDUiLAogICAgICAgICAgICAibmFtZSIgOiAiU05PTUVEIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vc25vbWVkLmluZm8vc2N0IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAidmFsdWVTZXRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzOjEtMTM6MTYyIiwKICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1hbmFsZ2VzaWNzLXdpdGgtYW1idWxhdG9yeS1taXN1c2UtcG90ZW50aWFsIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OjEtMTQ6MTc0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkV4dGVuZGVkIHJlbGVhc2Ugb3Bpb2lkIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2V4dGVuZGVkLXJlbGVhc2Utb3Bpb2lkLXdpdGgtYW1idWxhdG9yeS1taXN1c2UtcG90ZW50aWFsIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1OjEtMTU6MTQwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkJ1cHJlbm9ycGhpbmUgYW5kIG1ldGhhZG9uZSBtZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9idXByZW5vcnBoaW5lLWFuZC1tZXRoYWRvbmUtbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTY6MS0xNjoxMjYiLAogICAgICAgICAgICAibmFtZSIgOiAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbm9uLXN5bnRoZXRpYy1vcGlvaWQtbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTk6MS0xOToxMzAiLAogICAgICAgICAgICAibmFtZSIgOiAiTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9saW1pdGVkLWxpZmUtZXhwZWN0YW5jeS1jb25kaXRpb25zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOjEtMjA6MTM2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRoZXJhcGllcyBpbmRpY2F0aW5nIGVuZCBvZiBsaWZlIGNhcmUiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvdGhlcmFwaWVzLWluZGljYXRpbmctZW5kLW9mLWxpZmUtY2FyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMToxLTIxOjE2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25zIGxpa2VseSB0ZXJtaW5hbCBmb3Igb3Bpb2lkIHByZXNjcmliaW5nIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtbGlrZWx5LXRlcm1pbmFsLWZvci1vcGlvaWQtcHJlc2NyaWJpbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjI6MS0yMjoxMjQiLAogICAgICAgICAgICAibmFtZSIgOiAiQ0RDIG1hbGlnbmFudCBjYW5jZXIgY29uZGl0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jZGMtbWFsaWduYW50LWNhbmNlci1jb25kaXRpb25zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOjEtMjM6MTMxIiwKICAgICAgICAgICAgIm5hbWUiIDogIk9uY29sb2d5IHNwZWNpYWx0eSBkZXNpZ25hdGlvbnMgKE5VQ0MpIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29uY29sb2d5LXNwZWNpYWx0eS1kZXNpZ25hdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ6MS0yNDoxMDgiLAogICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIG1pc3VzZSBkaXNvcmRlcnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLW1pc3VzZS1kaXNvcmRlcnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjU6MS0yNToxMzgiLAogICAgICAgICAgICAibmFtZSIgOiAiU3Vic3RhbmNlIG1pc3VzZSBiZWhhdmlvcmFsIGNvdW5zZWxpbmciLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvc3Vic3RhbmNlLW1pc3VzZS1iZWhhdmlvcmFsLWNvdW5zZWxpbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjY6MS0yNjoxNDAiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9ucyBkb2N1bWVudGluZyBzdWJzdGFuY2UgbWlzdXNlIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtZG9jdW1lbnRpbmctc3Vic3RhbmNlLW1pc3VzZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOToxLTI5Ojg2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9mZmljZSBWaXNpdCIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vZmZpY2UtdmlzaXQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzA6MS0zMDoxMTYiLAogICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGNvdW5zZWxpbmcgcHJvY2VkdXJlIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1jb3Vuc2VsaW5nLXByb2NlZHVyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjoxLTMyOjExNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9iZW56b2RpYXplcGluZS1tZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzoxLTMzOjEyNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJOb24tb3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L25vbi1vcGlvaWQtZHJ1Zy11cmluZS1zY3JlZW5pbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ6MS0zNDoxMDIiLAogICAgICAgICAgICAibmFtZSIgOiAiTmFsb3hvbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbmFsb3hvbmUtbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzU6MS0zNToxMzAiLAogICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIG1pc3VzZSBhc3Nlc3NtZW50IHByb2NlZHVyZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtbWlzdXNlLWFzc2Vzc21lbnQtcHJvY2VkdXJlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OjEtMzY6MTE2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtZHJ1Zy11cmluZS1zY3JlZW5pbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzc6MS0zNzoxMDAiLAogICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBEaXNwb3NpdGlvbiIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLWRpc3Bvc2l0aW9uIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4OjEtMzg6OTgiLAogICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBGaW5kaW5nIENvZGVzIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2hvc3BpY2UtZmluZGluZyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOToxLTM5OjEwMiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLXByb2NlZHVyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjEyNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPYnNlcnZhdGlvbiBDYXRlZ29yeSBMYWJvcmF0b3J5IiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29ic2VydmF0aW9uLWNhdGVnb3J5LWxhYm9yYXRvcnkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDE6MS00MToxMjIiLAogICAgICAgICAgICAibmFtZSIgOiAiT2JzZXJ2YXRpb24gQ2F0ZWdvcnkgUHJvY2VkdXJlIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29ic2VydmF0aW9uLWNhdGVnb3J5LXByb2NlZHVyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MjoxLTQyOjEwMCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYWluIHRyZWF0bWVudCBwbGFuIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BhaW4tdHJlYXRtZW50LXBsYW4iLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6MS00MzoxMTIiLAogICAgICAgICAgICAibmFtZSIgOiAiUGFpbiBtYW5hZ2VtZW50IHByb2NlZHVyZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wYWluLW1hbmFnZW1lbnQtcHJvY2VkdXJlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjEtNDQ6MTA0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBETVAgcmV2aWV3IHByb2NlZHVyZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wZG1wLXJldmlldy1wcm9jZWR1cmUiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MS00NToxMTQiLAogICAgICAgICAgICAibmFtZSIgOiAiUERNUCBkYXRhIHJldmlld2VkIGZpbmRpbmciLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGRtcC1kYXRhLXJldmlld2VkLWZpbmRpbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDY6MS00NjoxMTUiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29jYWluZSBVcmluZSBUZXN0cyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb2NhaW5lLXVyaW5lLWRydWctc2NyZWVuaW5nLXRlc3RzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ3OjEtNDc6MTE3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBDUCBVcmluZSBUZXN0cyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9waGVuY3ljbGlkaW5lLXVyaW5lLWRydWctc2NyZWVuaW5nLXRlc3RzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjEtNDk6MTA3IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvbW11bml0eSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9tZWRpY2F0aW9ucmVxdWVzdC1jYXRlZ29yeS1jb21tdW5pdHkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6MS01MDoxMTAiLAogICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIENvbmRpdGlvbiIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tY2xpbmljYWwtc3RhdHVzLWFjdGl2ZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MToxLTUxOjExNyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3Qtc3RhdHVzLWFjdGl2ZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzoxLTUzOjEzOCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tZW5jb3VudGVyLWRpYWdub3Npcy1jYXRlZ29yeSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxLTU0OjEyNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbi1wcm9ibGVtLWxpc3QtY2F0ZWdvcnkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTU6MS01NToxNDQiLAogICAgICAgICAgICAibmFtZSIgOiAiVVMgQ29yZSBIZWFsdGggQ29uY2VybiBDb25kaXRpb24gQ2F0ZWdvcnkiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXVzLWNvcmUtaGVhbHRoLWNvbmNlcm4tY2F0ZWdvcnkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb250ZXh0cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxLTU5OjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAic3RhdGVtZW50cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxLTU5OjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxLTU5OjE1IiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNjM6MS02Nzo2OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWQgT3RoZXIgVGhhbiBTeW50aGV0aWMgT3JkZXJlZCBJbiBMYXN0IDEyIE1vbnRocyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NDozLTY3OjY4IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjMtNjQ6NjIiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjQ6My02NDo1OSIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NDozMy02NDo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjctNjc6NjgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjEzLTY2OjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MTMtNjU6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTozNy02NTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MTMtNjU6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MjMtNjU6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjM3LTY1OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjY1LTY1OjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTo2NS02NTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MzctNjU6NDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTo2NS02NTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MzctNjU6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MzctNjU6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6NjUtNjU6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjY6MTEtNjY6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NjoxMS02NjoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NjoyOC02NjozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Njo0MS02Nzo2OCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjQyLTY2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Njo0Mi02Njo1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjU5LTY2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MTEtNjc6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MTUtNjc6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MTYtNjc6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NzozMy02Nzo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJOb24tc3ludGhldGljIG9waW9pZCBtZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzU6MS0xMzg6MzYiLAogICAgICAgICAgICAibmFtZSIgOiAiR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE1lZGljYXRpb24gUmVxdWVzdHMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM2OjMtMTM4OjM2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNjozLTEzNjoxMCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzY6My0xMzY6NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6NS0xMzg6MzYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MTEtMTM3OjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MTEtMTM3OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MTEtMTM3OjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM3OjI5LTEzNzozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhY3RpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzODoxMS0xMzg6MzYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzODoxMS0xMzg6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM4OjI2LTEzODozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM1OjY4LTEzNTo5MCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzU6NzMtMTM1Ojg5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2OToxLTg5OjkiLAogICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcwOjMtODk6OSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MDozLTc1OjYiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzA6My03NTozIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjUtNzE6MTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjUtNzE6MTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MTo1MC03MToxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzE6ODAtNzE6MTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjctNzQ6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjEzLTczOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MTMtNzI6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjozNy03Mjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MTMtNzI6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MjMtNzI6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjM3LTcyOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjY2LTcyOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mjo2Ni03Mjo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MzctNzI6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6NjYtNzI6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjM3LTcyOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjM3LTcyOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjY2LTcyOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjEzLTczOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MTMtNzM6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MzAtNzM6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6NDMtNzQ6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo0My03MzoxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6NDMtNzM6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo2MC03MzoxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc0OjEzLTc0OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NDoxMy03NDoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NDoyOC03NDozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc2OjktNzY6OTYiLAogICAgICAgICAgICAgICAgICAiaWRlbnRpZmllciIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MTQtNzY6OTYiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9MaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MzMtNzY6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MzktNzY6OTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc2OjQ1LTc2Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6NDUtNzY6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Njo0Ni03Njo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Njo2My03Njo3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0b3IiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6OTAtNzY6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjUtNzc6MTA5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxMS03Nzo0MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxNC03Nzo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjE1LTc3OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjMyLTc3OjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Nzo0Ni03NzoxMDkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjQ2LTc3OjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjQ2LTc3OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Nzo1OC03NzoxMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc4OjctODk6OSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjktODk6OSIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDoxNS04MDoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjE5LTgxOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjE5LTgyOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImludGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6MjEtODM6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDoyMy04NDoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg0OjI2LTg0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6MjYtODQ6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NDMtODQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo1OC04NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGaXJzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NjQtODQ6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NjQtODQ6NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo3OS04NDoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo3OS04NDo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo5Ni04NDoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODU6MjAtODU6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3ViamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODY6MjEtODY6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjMwLTg3OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkaXNwZW5zZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODg6MjgtODg6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6MS0xMTE6OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgQW1idWxhdG9yeSBCZW56b2RpYXplcGluZSBSeCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozLTExMTo5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjMtOTc6NiIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozLTk3OjMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NS05MzoxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NS05MzoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE1lZGljYXRpb24gUmVxdWVzdHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjUwLTkzOjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo4MC05MzoxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6Ny05NjozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MTMtOTU6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDoxMy05NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjM3LTk0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDoxMy05NDozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlRnJvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDoyMy05NDozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MzctOTQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6NjYtOTQ6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjY2LTk0OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDozNy05NDo0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAieWVhcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDo2Ni05NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MzctOTQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MzctOTQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6NjYtOTQ6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6MTMtOTU6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NToxMy05NToyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NTozMC05NTozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NTo0My05NjozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk1OjQzLTk1Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk1OjQzLTk1OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6NjAtOTU6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk2OjEzLTk2OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoxMy05NjoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoyOC05NjozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjktOTg6OTYiLAogICAgICAgICAgICAgICAgICAiaWRlbnRpZmllciIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6MTQtOTg6OTYiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9MaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6MzMtOTg6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6MzktOTg6OTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjQ1LTk4Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6NDUtOTg6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODo0Ni05ODo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODo2My05ODo3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0b3IiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6OTAtOTg6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjUtOTk6ODUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjExLTk5OjQxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjE0LTk5OjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6MTUtOTk6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6MzItOTk6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjQ2LTk5Ojg1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTo0Ni05OTo1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTo0Ni05OTo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6NTgtOTk6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDo3LTExMTo5IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAxOjktMTExOjkiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjE1LTEwMjoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMzoxOS0xMDM6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA0OjE5LTEwNDoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNToyMS0xMDU6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6MjMtMTA2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjI2LTEwNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjoyNi0xMDY6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjQzLTEwNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjo1OC0xMDY6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRmlyc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjo2NC0xMDY6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjY0LTEwNjo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjo3OS0xMDY6MTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2Ojc5LTEwNjo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6OTYtMTA2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3ViamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDc6MjAtMTA3OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlY29yZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwODoyMS0xMDg6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwOTozMC0xMDk6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MjgtMTEwOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzoxLTEzMzo5IiwKICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBBbWJ1bGF0b3J5IE5hbG94b25lIFJ4IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDozLTEzMzo5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDozLTExOTo2IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDozLTExOTozIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo1LTExNToxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjUtMTE1OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjUwLTExNToxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjgwLTExNToxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjctMTE4OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MTMtMTE3OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjEzLTExNjo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjozNy0xMTY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjoxMy0xMTY6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjIzLTExNjozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjM3LTExNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjYtMTE2OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjYtMTE2OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MzctMTE2OjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo2Ni0xMTY6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjozNy0xMTY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjM3LTExNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjYtMTE2OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzoxMy0xMTc6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTc6MTMtMTE3OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzozMC0xMTc6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjQzLTExODozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzo0My0xMTc6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjQzLTExNzo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzo2MC0xMTc6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTmFsb3hvbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMy0xMTg6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMy0xMTg6MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjI4LTExODozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo5LTEyMDo5NiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjA6MTQtMTIwOjk2IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDozMy0xMjA6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjM5LTEyMDo5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTcGxpdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdUb1NwbGl0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjQ1LTEyMDo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo0NS0xMjA6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjA6NDYtMTIwOjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo2My0xMjA6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo5MC0xMjA6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTo1LTEyMTo3OSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIxOjExLTEyMTo0MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6MTQtMTIxOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIxOjE1LTEyMToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6MzItMTIxOjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6NDYtMTIxOjc5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6NDYtMTIxOjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTo0Ni0xMjE6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTo1OC0xMjE6NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTmFsb3hvbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMjo3LTEzMzo5IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIzOjktMTMzOjkiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI0OjE1LTEyNDoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNToxOS0xMjU6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI2OjE5LTEyNjoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNzoyMS0xMjc6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjg6MjMtMTI4OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjI2LTEyODo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODoyNi0xMjg6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjQzLTEyODo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODo1OC0xMjg6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRmlyc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODo2NC0xMjg6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjY0LTEyODo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODo3OS0xMjg6MTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4Ojc5LTEyODo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjg6OTYtMTI4OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3ViamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjk6MjAtMTI5OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlY29yZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDoyMS0xMzA6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMTozMC0xMzE6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzI6MjgtMTMyOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MDoxLTE2Mzo3IiwKICAgICAgICAgICAgIm5hbWUiIDogIklzIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWw/IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MTozLTE2Mzo3IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MTozLTE0MToxMCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDE6My0xNDE6NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo5LTE0Mjo5NiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDI6MTQtMTQyOjk2IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MjozMy0xNDI6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQyOjM5LTE0Mjo5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTcGxpdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdUb1NwbGl0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQyOjQ1LTE0Mjo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo0NS0xNDI6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDI6NDYtMTQyOjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo2My0xNDI6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo5MC0xNDI6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mzo0LTE1MDozNiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MzoxMC0xNDk6NyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ0OjktMTQ3OjkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDU6MTEtMTQ1OjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NToxNC0xNDU6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDU6MTUtMTQ1OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NTozMi0xNDU6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NjoxNy0xNDY6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ2OjE3LTE0NjoyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NjozNC0xNDY6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDg6MTItMTQ4Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDg6MTItMTQ4OjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0ODoxMi0xNDg6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0ODoyNC0xNDg6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6MTEtMTUwOjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6MTEtMTUwOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MDoyNi0xNTA6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ29tbXVuaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTE6NS0xNjM6NyIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Mjo3LTE2Mzo3IiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MzoxMy0xNTM6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTQ6MTctMTU0OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NToxNy0xNTU6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTY6MTktMTU2OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU3OjIxLTE1NzoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NzoyNC0xNTc6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6MjQtMTU3OjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Nzo0MS0xNTc6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6NTYtMTU3OjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZpcnN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6NjItMTU3OjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Nzo2Mi0xNTc6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6NzctMTU3OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Nzo3Ny0xNTc6ODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU3Ojk0LTE1NzoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU4OjE4LTE1ODoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdWJqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1OToyMS0xNTk6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYwOjE5LTE2MDoyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWNvcmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYxOjI4LTE2MTo0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MjoyNi0xNjI6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjc5LTE0MDoxMDEiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjg0LTE0MDoxMDAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NTo1LTE4ODoxNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJcyBCZW56b2RpYXplcGluZT8iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY2OjctMTg4OjE1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Njo3LTE2NjoxNCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjY6Ny0xNjY6MTEiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJsZXQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6MTMtMTY3OjEwMCIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6MTgtMTY3OjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0xpc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6MzctMTY3Ojk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxhc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Nzo0My0xNjc6OTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Nzo0OS0xNjc6OTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6NDktMTY3OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY3OjUwLTE2Nzo2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6NjctMTY3OjgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcGFyYXRvciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6OTQtMTY3Ojk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjg6OS0xNzU6NDAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjg6MTUtMTc0OjExIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjk6MTMtMTcyOjEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcwOjE1LTE3MDo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzA6MTgtMTcwOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcwOjE5LTE3MDozMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzA6MzYtMTcwOjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzE6MjEtMTcxOjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MToyMS0xNzE6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzE6MzgtMTcxOjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTczOjE2LTE3Mzo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbnlJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTczOjE2LTE3MzoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzM6MTYtMTczOjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzM6MjgtMTczOjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc1OjE1LTE3NTo0MCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbnlJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc1OjE1LTE3NToyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzU6MzAtMTc1OjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvbW11bml0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc2OjktMTg4OjE1IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc3OjE1LTE4ODoxNSIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzg6MjEtMTc4OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc5OjI1LTE3OTozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImludGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODA6MjUtMTgwOjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImludGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgxOjI3LTE4MTozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MjoyOS0xODI6MTE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODI6MzItMTgyOjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgyOjMyLTE4Mjo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODI6NDktMTgyOjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgyOjY0LTE4Mjo3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGaXJzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgyOjcwLTE4Mjo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODI6NzAtMTgyOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgyOjg1LTE4MjoxMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODI6ODUtMTgyOjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MjoxMDItMTgyOjExNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3ViamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODM6MjYtMTgzOjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImF1dGhvcmVkT24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg0OjI5LTE4NDo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZWNvcmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODU6MjctMTg1OjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlY29yZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODY6MzYtMTg2OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkaXNwZW5zZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg3OjM0LTE4Nzo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkaXNwZW5zZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjU6NDgtMTY1OjcwIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NTo1My0xNjU6NjkiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNDoxLTIwNzo3OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJVUyBDb3JlLUNhdGVnb3JpemVkIENvbmRpdGlvbnMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA1OjMtMjA3Ojc4IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlVuaW9uIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDU6My0yMDY6NjgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVW5pb24iLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNTozLTIwNTo2NyIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA1OjI3LTIwNTo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA2OjExLTIwNjo2OCIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA2OjM1LTIwNjo2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA3OjExLTIwNzo3OCIsCiAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA3OjM1LTIwNzo3NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJVUyBDb3JlIEhlYWx0aCBDb25jZXJuIENvbmRpdGlvbiBDYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjA5OjEtMjIwOjMiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9ucyBJbmRpY2F0aW5nIEVuZCBvZiBMaWZlIG9yIFdpdGggTGltaXRlZCBMaWZlIEV4cGVjdGFuY3kiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEwOjMtMjIwOjMiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiVW5pb24iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMDozLTIxNDozIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMTo1LTIxMTozOCIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMTo1LTIxMTozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJVUyBDb3JlLUNhdGVnb3JpemVkIENvbmRpdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEyOjctMjEzOjUwIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEyOjEzLTIxMjo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEyOjEzLTIxMjoxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMjoyMy0yMTI6NzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9ucyBsaWtlbHkgdGVybWluYWwgZm9yIG9waW9pZCBwcmVzY3JpYmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEzOjEzLTIxMzo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEzOjEzLTIxMzoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjbGluaWNhbFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTM6MzMtMjEzOjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBDb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNjozLTIyMDozIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNzo1LTIxNzozOCIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNzo1LTIxNzozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJVUyBDb3JlLUNhdGVnb3JpemVkIENvbmRpdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjctMjE5OjUwIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjEzLTIxODo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjEzLTIxODoxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODoyMy0yMTg6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE5OjEzLTIxOTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE5OjEzLTIxOToyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjbGluaWNhbFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTk6MzMtMjE5OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBDb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3MjoyLTM3NDoxMyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJTZXJ2aWNlIFJlcXVlc3RzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3Mzo0LTM3NDoxMyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzM6NC0zNzM6MjIiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlNSIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzczOjQtMzczOjE5IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vU2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzQ6NS0zNzQ6MTMiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzQ6MTItMzc0OjEzIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNSIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjI6MS0yNTI6MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjM6My0yNTI6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJVbmlvbiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjM6My0yMzI6MyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJVbmlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjM6My0yMjY6MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjQ6NS0yMjQ6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjQ6NS0yMjQ6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUHJvY2VkdXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI0OjI1LTIyNDo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI1OjctMjI1OjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjU6MTMtMjI1OjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjU6MTMtMjI1OjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjU6MzEtMjI1OjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNTozMy0yMjU6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaW4tcHJvZ3Jlc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI1OjQ4LTIyNTo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJjb21wbGV0ZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjg6My0yMzI6MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjk6NS0yMjk6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlNSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI5OjUtMjI5OjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNlcnZpY2UgUmVxdWVzdHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMwOjctMjMxOjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMwOjEzLTIzMDo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMwOjEzLTIzMDoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJTUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzA6MjQtMjMwOjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkhvc3BpY2UgUHJvY2VkdXJlIENvZGVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6MTMtMjMxOjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6MTMtMjMxOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6MTMtMjMxOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiU1IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMxOjMyLTIzMTo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6MzQtMjMxOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImFjdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6NDQtMjMxOjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImNvbXBsZXRlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVuY291bnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJVbmlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNDozLTI0MDozIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6OC0yMzU6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBGaW5kaW5ncyBFeGNsdXNpb24gRW5hYmxlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiQ29uZmlnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNjo3LTIzNzo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzY6Ny0yMzY6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzY6Ny0yMzY6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNjoyOS0yMzY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBGaW5kaW5nIENvZGVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzc6OS0yMzc6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjE5LTIzNzo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjIwLTIzNzozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjIwLTIzNzoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjM4LTIzNzo4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzc6NDAtMjM3OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInVua25vd24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjUxLTIzNzo2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJlbnRlcmVkLWluLWVycm9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNzo3MS0yMzc6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiY2FuY2VsbGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOTo3LTIzOTo4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3QiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UHJvY2VkdXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVuY291bnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDI6My0yNTI6MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDM6NS0yNDM6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDM6NS0yNDM6MTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVuY291bnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vRW5jb3VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6Ny0yNTE6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MTMtMjUwOjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MTMtMjQ0OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjM4LTI0NDo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjEzLTI0NDozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlRnJvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MjMtMjQ0OjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MjMtMjQ0OjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MzgtMjQ0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDo2Ni0yNDQ6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDo2Ni0yNDQ6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDozOC0yNDQ6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6NjYtMjQ0OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MzgtMjQ0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDozOC0yNDQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjY2LTI0NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDU6MTMtMjUwOjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NjoxNC0yNDc6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NjoxNC0yNDY6NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ2OjE0LTI0Njo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NjoxNC0yNDY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzY2hhcmdlRGlzcG9zaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NjoxNC0yNDY6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaG9zcGl0YWxpemF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDc6MTgtMjQ3Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NzoyMi0yNDc6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhpc3RzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ3OjI5LTI0Nzo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NzozMC0yNDc6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzY2hhcmdlRGlzcG9zaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NzozMC0yNDc6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaG9zcGl0YWxpemF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDg6MTgtMjQ4OjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJmYWxzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDk6MTYtMjQ5Ojc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDk6MTYtMjQ5OjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc2NoYXJnZURpc3Bvc2l0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDk6MTYtMjQ5OjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImhvc3BpdGFsaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0OTo1OC0yNDk6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBEaXNwb3NpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjEzLTI1MTo5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjEzLTI1MToyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjEzLTI1MToyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjMxLTI1MTo5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTE6MzMtMjUxOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInBsYW5uZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjQ0LTI1MTo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhcnJpdmVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1MTo1NS0yNTE6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaW4tcHJvZ3Jlc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjcwLTI1MTo3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJmaW5pc2hlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTE6ODItMjUxOjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm9ubGVhdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbmNvdW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbmNvdW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MDoxLTE5ODo1IiwKICAgICAgICAgICAgIm5hbWUiIDogIkVuZCBvZiBMaWZlIEFzc2Vzc21lbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkyOjUtMTk4OjUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Mjo1LTE5NDo1IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MjoxMi0xOTQ6NSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25zIEluZGljYXRpbmcgRW5kIG9mIExpZmUgb3IgV2l0aCBMaW1pdGVkIExpZmUgRXhwZWN0YW5jeSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Njo4LTE5ODo1IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NjoxNS0xOTg6NSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3OToxLTI4MDozNiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcmV2aW91cyAxMCBEYXlzIEludGVydmFsIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MDoxLTI4MDozNiIsCiAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6MTAtMjgwOjI2IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6MTAtMjgwOjE2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6MjAtMjgwOjI2IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEwLAogICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAiZGF5cyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MDoyOS0yODA6MzUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODI6MS0yODM6NDgiLAogICAgICAgICAgICAibmFtZSIgOiAiRmlyc3QgTW9udGgiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgzOjEtMjgzOjQ4IiwKICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MzoxMC0yODM6MjciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MzoxMC0yODM6MTYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MzoyMC0yODM6MjciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMywKICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIm1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MzozMC0yODM6NDciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MzozMC0yODM6MzYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Mzo0MC0yODM6NDciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMiwKICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIm1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODU6MS0yODY6NDgiLAogICAgICAgICAgICAibmFtZSIgOiAiU2Vjb25kIE1vbnRoIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4NjoxLTI4Njo0OCIsCiAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MTAtMjg2OjI3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MTAtMjg2OjE2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MjAtMjg2OjI3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDIsCiAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aHMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MzAtMjg2OjQ3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MzAtMjg2OjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6NDAtMjg2OjQ3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aHMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjg4OjEtMjg5OjM3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRoaXJkIE1vbnRoIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4OToxLTI4OTozNyIsCiAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODk6MTAtMjg5OjI3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODk6MTAtMjg5OjE2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODk6MjAtMjg5OjI3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aHMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODk6MzAtMjg5OjM2IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzIwOjEtMzM0OjMiLAogICAgICAgICAgICAibmFtZSIgOiAiR2V0RHVyYXRpb25JbkRheXMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzIxOjMtMzM0OjMiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMTo2LTMyMToxOCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjE6Ni0zMjE6MTAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMToyNS0zMjE6MjgiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjM6NS0zMzQ6MyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjctMzI0OjY0IiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjEyLTMyNDozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjQ6MTItMzI0OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjQ6MTItMzI0OjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNDoxMi0zMjQ6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNDozMS0zMjQ6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiYSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjQwLTMyNDo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJNdWx0aXBseSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjQwLTMyNDo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjQwLTMyNDo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjQwLTMyNDo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjYwLTMyNDo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMzY1LjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI1OjctMzI1OjY0IiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI1OjEyLTMyNTozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjU6MTItMzI1OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjU6MTItMzI1OjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNToxMi0zMjU6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTozMS0zMjU6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAibW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTo0MS0zMjU6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTXVsdGlwbHkiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTo0MS0zMjU6NTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTo0MS0zMjU6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTo0MS0zMjU6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTo2MS0zMjU6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjMwLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI2OjctMzI2OjYzIiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI2OjEyLTMyNjozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjY6MTItMzI2OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjY6MTItMzI2OjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjoxMi0zMjY6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjozMS0zMjY6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAid2siLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjo0MS0zMjY6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTXVsdGlwbHkiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjo0MS0zMjY6NTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjo0MS0zMjY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjo0MS0zMjY6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjo2MS0zMjY6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjcuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6Ny0zMjc6NTYiLAogICAgICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6MTItMzI3OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWl2YWxlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNzoxMi0zMjc6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNzoxMi0zMjc6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI3OjEyLTMyNzoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI3OjMxLTMyNzozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6NDAtMzI3OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6NDAtMzI3OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6NDAtMzI3OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyODo3LTMyODo2MyIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyODoxMi0zMjg6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1aXZhbGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI4OjEyLTMyODoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI4OjEyLTMyODoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6MTItMzI4OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6MzEtMzI4OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyODo0MC0zMjg6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6NDAtMzI4OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6NDAtMzI4OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6NDAtMzI4OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6NjAtMzI4OjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyNC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyOTo3LTMyOTo3MiIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyOToxMi0zMjk6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1aXZhbGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI5OjEyLTMyOToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI5OjEyLTMyOToyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6MTItMzI5OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6MzEtMzI5OjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm1pbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI5OjQyLTMyOTo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyOTo0Mi0zMjk6NjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6NDItMzI5OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6NDItMzI5OjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6NDItMzI5OjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6NjItMzI5OjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI2MC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6NjktMzI5OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyNC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo3LTMzMDo3NyIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDoxMi0zMzA6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1aXZhbGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMwOjEyLTMzMDoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMwOjEyLTMzMDoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzA6MTItMzMwOjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzA6MzEtMzMwOjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo0MC0zMzA6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzA6NDAtMzMwOjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMwOjQwLTMzMDo2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo0MC0zMzA6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo0MC0zMzA6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo0MC0zMzA6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo2MC0zMzA6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjYwLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo2Ny0zMzA6NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjYwLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo3NC0zMzA6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjI0LjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMxOjctMzMxOjg3IiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMxOjEyLTMzMTozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6MTItMzMxOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6MTItMzMxOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMToxMi0zMzE6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMTozMS0zMzE6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAibXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMTo0MS0zMzE6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NDEtMzMxOjc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMxOjQxLTMzMTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMTo0MS0zMzE6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NDEtMzMxOjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NDEtMzMxOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NDEtMzMxOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NjEtMzMxOjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI2MC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NjgtMzMxOjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI2MC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NzUtMzMxOjc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyNC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6ODItMzMxOjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxMDAwLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMyOjctMzMyOjExMiIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjoxMi0zMzI6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMyOjEyLTMzMjoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMyOjEyLTMzMjoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzI6MTItMzMyOjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvRGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjo0Mi0zMzI6MTEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk1lc3NhZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjo1MC0zMzI6NTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjEwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzI6NTYtMzMyOjU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjo2Mi0zMzI6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiVW5kZWZpbmVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXZlcml0eSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzI6NzUtMzMyOjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkVycm9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZXNzYWdlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjo4NC0zMzI6MTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkR1cmF0aW9uIHVuaXQgY29kZSBpcyBudWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjEyLTMzMzoxMDciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTWVzc2FnZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjIwLTMzMzoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMTAwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzoyNi0zMzM6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjMyLTMzMzo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJVbmRlZmluZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInNldmVyaXR5IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzo0NS0zMzM6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiRXJyb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgIm1lc3NhZ2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjU0LTMzMzoxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzo1NC0zMzM6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiVW5zdXBwb3J0ZWQgZHVyYXRpb24gdW5pdCBjb2RlOiAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjkxLTMzMzoxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzo5MS0zMzM6MTAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzo5MS0zMzM6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzIwOjQxLTMyMDo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1EdXJhdGlvbiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NjoxLTMwNToxMSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NzozLTMwNToxMSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk3OjYtMzAwOjMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTg6NS0yOTg6ODQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTg6NS0yOTg6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk4OjUtMjk4OjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5ODo1LTI5ODoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTg6NS0yOTg6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5ODo0NS0yOTg6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk4OjQ1LTI5ODo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTg6NDUtMjk4OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk4OjQ1LTI5ODo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5OToxMS0yOTk6NzMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk5OjExLTI5OTo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTk6MTEtMjk5OjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImV4cGVjdGVkU3VwcGx5RHVyYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5OToxMS0yOTk6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTk6MTEtMjk5OjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDE6OC0zMDQ6MyIsCiAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDI6NS0zMDI6MzciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAyOjE1LTMwMjozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDI6MTUtMzAyOjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMzo1LTMwMzoxNTAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDM6NS0zMDM6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjE1LTMwMzozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDM6MTUtMzAzOjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMzo0MS0zMDM6MTUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjY1LTMwMzoxMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2V0RHVyYXRpb25JbkRheXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMzo4My0zMDM6MTMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImV4cGVjdGVkU3VwcGx5RHVyYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMzo4My0zMDM6MTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjgzLTMwMzo5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInVuaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjE0My0zMDM6MTQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImRheXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDU6OC0zMDU6MTEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAicG9pbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAicHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5Njo2MS0yOTY6ODIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDc6MS0zMTY6MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDg6My0zMTY6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdW0iLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOTo1LTMxNTo4MSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDk6NS0zMTQ6MjMiLAogICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk9waW9pZFVzZUludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA5OjUtMzE0OjUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29sbGFwc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMDoxNi0zMTM6NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTE6OS0zMTE6MTAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJPcGlvaWRQcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTE6OS0zMTE6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMToyOS0zMTE6ODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTI6OS0zMTI6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTI6MTYtMzEyOjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVyc2VjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzEyOjE2LTMxMjo2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTI6NDgtMzEyOjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZFByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMjo3OS0zMTI6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0VHlwZU5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTU6Ny0zMTU6ODEiLAogICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTU6MTQtMzE1OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiRGF5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkR1cmF0aW9uQmV0d2VlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE1OjI3LTMxNTo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNTozNi0zMTU6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkVXNlSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE1OjU4LTMxNTo4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTU6NjUtMzE1OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZFVzZUludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInBlcmlvZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDc6NTYtMzA3OjY5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJwb2ludFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA3OjY1LTMwNzo2OCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURhdGUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MToxLTI5NDo2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcmVzY3JpYmVkIE9waW9pZHMgZm9yIDIxIG9yIG1vcmUgb2YgMzAgRGF5cyBmb3IgZWFjaCBvZiB0aGUgcGFzdCAzIE1vbnRocyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTI6My0yOTQ6NjAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTI6My0yOTM6NjEiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTI6My0yOTI6NTQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlck9yRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MjozLTI5Mjo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkyOjM1LTI5Mjo0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaXJzdCBNb250aCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkyOjUzLTI5Mjo1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5Mzo5LTI5Mzo2MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJHcmVhdGVyT3JFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkzOjktMjkzOjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTM6NDEtMjkzOjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNlY29uZCBNb250aCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkzOjYwLTI5Mzo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTQ6OS0yOTQ6NjAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlck9yRXF1YWwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NDo5LTI5NDo1NCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk0OjQxLTI5NDo1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUaGlyZCBNb250aCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk0OjU5LTI5NDo2MCIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0MzoxLTM1Mjo3IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvZGluZ1RvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0NDozLTM1Mjo3IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDQ6Ni0zNDQ6MjEiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ0OjctMzQ0OjEyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDU6OC0zNDU6MTEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDc6NS0zNTI6NyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM1MTozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM1MToxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM1MDozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM1MDoxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM0OTozMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM0OToxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM0ODoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM0ODoxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM0NzoxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJDb2RlIHsiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ4OjctMzQ4OjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImNvZGU6ICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0ODoxOC0zNDg6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ4OjE4LTM0ODoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ5OjctMzQ5OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInN5c3RlbTogIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ5OjIwLTM0OTozMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzeXN0ZW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0OToyMC0zNDk6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MDo3LTM1MDoxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ2ZXJzaW9uOiAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTA6MjEtMzUwOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZlcnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MDoyMS0zNTA6MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MTo3LTM1MToxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJkaXNwbGF5OiAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTE6MjEtMzUxOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BsYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MToyMS0zNTE6MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1Mjo1LTM1Mjo3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIn0iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDM6MzktMzQzOjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NDoxLTM2Mjo5IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvZGVhYmxlQ29uY2VwdFRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NTozLTM2Mjo5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTU6Ni0zNTU6NDgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NTo3LTM1NToyMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTU6Ny0zNTU6MTMiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NToyNi0zNTU6NDciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU1OjI2LTM1NTozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NToyNi0zNTU6MzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTY6OC0zNTY6MTEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTg6NS0zNjI6OSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1ODo1LTM2MToxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1ODo1LTM2MDo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1ODo1LTM1OToxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1ODo1LTM1ODoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJDb2RlYWJsZUNvbmNlcHQgeyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTk6Ny0zNTk6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiQ29kaW5nOiBbIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MDo5LTM2MDo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb21iaW5lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjA6MTctMzYwOjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MDoxNy0zNjA6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MDoxNy0zNjA6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MDozOS0zNjA6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjA6NDYtMzYwOjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvZGluZ1RvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjA6NjEtMzYwOjY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MDo3MC0zNjA6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MTo5LTM2MToxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJdIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2Mjo3LTM2Mjo5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIn0iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU0OjQ5LTM1NDo2OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzk6MS0zNDA6NDYiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29kZWFibGVDb25jZXB0c1RvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0MDozLTM0MDo0NiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDA6My0zNDA6MTIiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogImMiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDA6My0zNDA6MTAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uY2VwdHMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0MDoxNC0zNDA6NDYiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDA6MjEtMzQwOjQ2IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvZGVhYmxlQ29uY2VwdFRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDA6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiYyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHRzIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzOTo1MS0zMzk6NzYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM5OjU2LTMzOTo3NSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NDoxLTM2NTozOSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvZGVzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NTozLTM2NTozOSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjU6My0zNjU6MTAiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogImMiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjU6My0zNjU6OCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NToxMi0zNjU6MzkiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjU6MTktMzY1OjM5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NTozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NDozMi0zNjQ6NDgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY0OjM3LTM2NDo0NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NzoxLTM3MDozIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvUnhOb3JtQ29kZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjg6My0zNzA6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY4OjE4LTM3MDozIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OTo1LTM2OToxMiIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OTo1LTM2OToxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY5OjE0LTM2OTo3NSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjk6MjAtMzY5OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN5c3RlbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OTozMS0zNjk6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaHR0cDovL3d3dy5ubG0ubmloLmdvdi9yZXNlYXJjaC91bWxzL3J4bm9ybSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NzozNy0zNjc6NTMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY3OjQyLTM2Nzo1MiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9CiAgIH0KfQ==" } ] } \ No newline at end of file diff --git a/input/resources/library/OpioidCDSREC10PatientView.json b/input/resources/library/OpioidCDSREC10PatientView.json index 2b3d66eb..6fad09b0 100644 --- a/input/resources/library/OpioidCDSREC10PatientView.json +++ b/input/resources/library/OpioidCDSREC10PatientView.json @@ -325,9 +325,9 @@ "data": "bGlicmFyeSBPcGlvaWRDRFNSRUMxMFBhdGllbnRWaWV3IHZlcnNpb24gJzAuMS4xJwoKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE9waW9pZENEU0NvbW1vbiB2ZXJzaW9uICcwLjEuMScgY2FsbGVkIENvbW1vbgppbmNsdWRlIE9waW9pZENEU1JFQzEwQ29tbW9uIHZlcnNpb24gJzAuMS4xJyBjYWxsZWQgUmVjMTBDb21tb24KaW5jbHVkZSBPcGlvaWRDRFNDb21tb25Db25maWcgdmVyc2lvbiAnMC4xLjEnIGNhbGxlZCBDb25maWcKaW5jbHVkZSBPcGlvaWRDRFNSb3V0aW5lcyB2ZXJzaW9uICcwLjEuMScgY2FsbGVkIFJvdXRpbmVzCgpjb2RlICJVcmluZSBEcnVnIFNjcmVlbmluZyI6ICczMTA2MjcwMDgnIGZyb20gQ29tbW9uLlNOT01FRCBkaXNwbGF5ICdVcmluZSBkcnVnIHNjcmVlbmluZyAocHJvY2VkdXJlKScKCi8qCioqICBSZWNvbW1lbmRhdGlvbiAjMTAKKiogICAgV2hlbiBwcmVzY3JpYmluZyBvcGlvaWRzIGZvciBjaHJvbmljIHBhaW4sIHByb3ZpZGVycyBzaG91bGQgdXNlIHVyaW5lIGRydWcKKiogICAgdGVzdGluZyBiZWZvcmUgc3RhcnRpbmcgb3Bpb2lkIHRoZXJhcHkgYW5kIGNvbnNpZGVyIHVyaW5lIGRydWcgdGVzdGluZyBhdAoqKiAgICBsZWFzdCBhbm51YWxseSB0byBhc3Nlc3MgZm9yIHByZXNjcmliZWQgbWVkaWNhdGlvbnMgYXMgd2VsbCBhcyBvdGhlciBjb250cm9sbGVkCioqICAgIHByZXNjcmlwdGlvbiBkcnVncyBhbmQgaWxsaWNpdCBkcnVncyAocmVjb21tZW5kYXRpb24gY2F0ZWdvcnk6IEIsIGV2aWRlbmNlIHR5cGU6IDQpCioqCioqICBXaGVuCioqICAgIFByb3ZpZGVyIGlzIHByZXNjcmliaW5nIGFuIG9waW9pZCBhbmFsZ2VzaWMgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwgaW4gdGhlIG91dHBhdGllbnQgc2V0dGluZwoqKiAgICBQcmVzY3JpcHRpb24gaXMgZm9yIHRyZWF0aW5nIGNocm9uaWMgcGFpbi4KKiogICAgT3Bpb2lkIHJldmlldyBpcyB1c2VmdWwgZm9yIHRoaXMgcGF0aWVudDoKKiogICAgICBQYXRpZW50IGlzIDE4IG9yIG92ZXIKKiogICAgICBQYXRpZW50IGRvZXMgbm90IGhhdmUgZmluZGluZ3MgaW5kaWNhdGluZyBsaW1pdGVkIGxpZmUgZXhwZWN0YW5jeQoqKiAgICAgIFBhdGllbnQgZG9lcyBub3QgaGF2ZSBvcmRlcnMgZm9yIHRoZXJhcGllcyBpbmRpY2F0aW5nIGVuZCBvZiBsaWZlIGNhcmUKKiogICAgICBQYXRpZW50IGlzIG5vdCB1bmRlcmdvaW5nIGFjdGl2ZSBjYW5jZXIgdHJlYXRtZW50OgoqKiAgICAgICAgUGF0aWVudCBoYXMgaGFkIGF0IGxlYXN0IDIgZW5jb3VudGVycyB3aXRoaW4gdGhlIHBhc3QgeWVhciB3aXRoIGFueSBkaWFnbm9zaXMgb2YgY2FuY2VyCioqICAgIFVyaW5lIGRydWcgc2NyZWVuaW5nIGhhcyBub3QgYmVlbiBwZXJmb3JtZWQgaW4gbGFzdCAxMiBtb250aHMKKiogIFRoZW4KKiogICAgUmVjb21tZW5kIHVyaW5lIGRydWcgc2NyZWVuaW5nCioqICAgICAgV2lsbCBwZXJmb3JtIHVyaW5lIHNjcmVlbmluZwoqKiAgICAgIE5vdCBmb3IgY2hyb25pYyBwYWluIG1hbmFnZW1lbnQsIHNub296ZSAzIG1vbnRocwoqKiAgICAgIE4vQSAtIHNlZSBjb21tZW50LCBzbm9vemUgMyBtb250aHMKKioKKi8KCi8vIE1FVEE6IFBsYW4gRGVmaW5pdGlvbjogaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy1yNC9QbGFuRGVmaW5pdGlvbi9vcGlvaWQtY2RzLTEwLXBhdGllbnQtdmlldwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkNocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnMiOgogIENvbW1vbi4iQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiBBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uCiAgICB3aGVyZSBSb3V0aW5lcy4iSXMgQ2hyb25pYyBQYWluIFByZXNjcmlwdGlvbj8iKEFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb24pCgpkZWZpbmUgIlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIjoKICBleGlzdHMgKCJDaHJvbmljIFBhaW4gT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCBQcmVzY3JpcHRpb25zIikKCmRlZmluZSAiSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyI6CiAgIlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIgogICAgYW5kIFJlYzEwQ29tbW9uLiJJbmNsdXNpb24gQ3JpdGVyaWEiCiAgICBhbmQgbm90IFJlYzEwQ29tbW9uLiJFeGNsdXNpb24gQ3JpdGVyaWEiCgpkZWZpbmUgIkFwcGxpY2FibGUgQmVjYXVzZSBvZiBQb3NpdGl2ZSBDb2NhaW5lIG9yIFBDUCBvciBPcGlhdGVzIjoKICBSZWMxMENvbW1vbi4iQXBwbGljYWJsZSBCZWNhdXNlIG9mIFBvc2l0aXZlIENvY2FpbmUgb3IgUENQIG9yIE9waWF0ZXMiCgpkZWZpbmUgIlVyaW5lIERydWcgU2NyZWVuaW5nIFByb2NlZHVyZVJlcXVlc3QgQ2F0ZWdvcnkiOgogIFJlYzEwQ29tbW9uLiJVcmluZSBEcnVnIFNjcmVlbmluZyBQcm9jZWR1cmVSZXF1ZXN0IENhdGVnb3J5IgoKZGVmaW5lICJEZXRhaWwiOgogIFJlYzEwQ29tbW9uLiJHZXQgRGV0YWlsIiAoIklzIFBlcmZvcm0gRHJ1ZyBTY3JlZW4gUmVjb21tZW5kYXRpb24gQXBwbGljYWJsZT8iKQoKZGVmaW5lICJJbmRpY2F0b3IiOgogIFJlYzEwQ29tbW9uLiJJbmRpY2F0b3IiCgpkZWZpbmUgIlN1bW1hcnkiOgogIFJlYzEwQ29tbW9uLiJHZXQgU3VtbWFyeSIgKCJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IikKCi8vIFNlcnZpY2UgUmVxdWVzdCAtIFVyaW5lIFNjcmVlbmluZwovLyBEZXRlY3RlZCBJc3N1ZSAtIE9waW9pZHMgZm91bmQgaW4gdXJpbmUgc2NyZWVuaW5nCi8vIERldGVjdGVkIElzc3VlIC0gSWxsaWNpdCBkcnVncyBmb3VuZCBpbiB1cmluZSBzY3JlZW5pbmcKCmRlZmluZSAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmcgUmVxdWVzdCI6CiAgICBTZXJ2aWNlUmVxdWVzdCB7CiAgICAgIC8vaWRlbnRpZmllcjosCiAgICAgIGluc3RhbnRpYXRlc0Nhbm9uaWNhbDogeyBGSElSLmNhbm9uaWNhbCB7IHZhbHVlOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvYWN0aXZpdHlkZWZpbml0aW9uL3VyaW5lLXNjcmVlbmluZy1yZXF1ZXN0JyB9IH0sCiAgICAgIHN0YXR1czogRkhJUi5TZXJ2aWNlUmVxdWVzdFN0YXR1cyB7IHZhbHVlOiAnZHJhZnQnIH0sCiAgICAgIGludGVudDogRkhJUi5TZXJ2aWNlUmVxdWVzdEludGVudCB7IHZhbHVlOiAncHJvcG9zYWwnIH0sCiAgICAgIHByaW9yaXR5OiBGSElSLlNlcnZpY2VSZXF1ZXN0UHJpb3JpdHkgeyB2YWx1ZTogJ3JvdXRpbmUnIH0sCiAgICAgIGNvZGU6IEZISVIuQ29kZWFibGVDb25jZXB0IHsgY29kaW5nOiB7IFRvQ29kaW5nKCJVcmluZSBEcnVnIFNjcmVlbmluZyIpIH0gfSwKICAgICAgc3ViamVjdDogRkhJUi5SZWZlcmVuY2UgeyByZWZlcmVuY2U6IEZISVIuc3RyaW5nIHsgdmFsdWU6ICdQYXRpZW50LycgKyBQYXRpZW50LmlkIH0gfSwKICAgICAgb2NjdXJyZW5jZTogRkhJUi5QZXJpb2QgeyBzdGFydDogRkhJUi5kYXRlVGltZSB7IHZhbHVlOiBUb2RheSgpIH0sIGVuZDogRkhJUi5kYXRlVGltZSB7IHZhbHVlOiBUb2RheSgpICsgNyBkYXlzIH0gfSwKICAgICAgYXV0aG9yZWRPbjogRkhJUi5kYXRlVGltZSB7IHZhbHVlOiBOb3coKSB9LAogICAgICByZWFzb25Db2RlOiB7IEZISVIuQ29kZWFibGVDb25jZXB0IHsgdGV4dDogRkhJUi5zdHJpbmcgeyB2YWx1ZTogIkRldGFpbCIgfSB9IH0KICAgICAgLy8gZG9lc24ndCByZWFsbHkgd29yaywgbmVlZCBhIHJlbGF0ZWRBcnRpZmFjdCBoZXJlLi4uCiAgICAgIC8vcmVhc29uQ29kZTogeyBGSElSLkNvZGVhYmxlQ29uY2VwdCB7IHRleHQ6IEZISVIuc3RyaW5nIHsgdmFsdWU6ICdodHRwczovL3d3dy5jZGMuZ292L21td3Ivdm9sdW1lcy82NS9yci9ycjY1MDFlMS5odG0jMTBfV2hlbl9wcmVzY3JpYmluZ19vcGlvaWRzJyB9IH0gfQogICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29kaW5nKGNvZGUgU3lzdGVtLkNvZGUpOgogIEZISVIuQ29kaW5nIHsKICAgIGNvZGU6IEZISVIuY29kZSB7IHZhbHVlOiBjb2RlLmNvZGUgfSwKICAgIHN5c3RlbTogRkhJUi51cmkgeyB2YWx1ZTogY29kZS5zeXN0ZW0gfSwKICAgIHZlcnNpb246IEZISVIuc3RyaW5nIHsgdmFsdWU6IGNvZGUudmVyc2lvbiB9LAogICAgZGlzcGxheTogRkhJUi5zdHJpbmcgeyB2YWx1ZTogY29kZS5kaXNwbGF5IH0KICB9Cgo=" }, { "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjQiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSI3NiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iNzYiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9Ijk4IiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSI5OCIgZW5kQ2hhcj0iOTYiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIGxpYnJhcnlTeXN0ZW09Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiIGxpYnJhcnlJZD0iT3Bpb2lkQ0RTQ29tbW9uIiBsaWJyYXJ5VmVyc2lvbj0iMC4xLjEiIHN0YXJ0TGluZT0iMTIwIiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSIxMjAiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9IjE0MiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iMTQyIiBlbmRDaGFyPSI5NiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSIxNjEiIHN0YXJ0Q2hhcj0iMTgiIGVuZExpbmU9IjE2MSIgZW5kQ2hhcj0iMTAwIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8aWRlbnRpZmllciBpZD0iT3Bpb2lkQ0RTUkVDMTBQYXRpZW50VmlldyIgc3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiB2ZXJzaW9uPSIwLjEuMSIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjM6MS0zOjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iNC4wLjEiLz4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhdG9yPSI1OjEtNTo1NCIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI2OjEtNjo1MyIgbG9jYWxJZGVudGlmaWVyPSJDb21tb24iIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uIiB2ZXJzaW9uPSIwLjEuMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9Ijc6MS03OjYzIiBsb2NhbElkZW50aWZpZXI9IlJlYzEwQ29tbW9uIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU1JFQzEwQ29tbW9uIiB2ZXJzaW9uPSIwLjEuMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9Ijg6MS04OjU5IiBsb2NhbElkZW50aWZpZXI9IkNvbmZpZyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PcGlvaWRDRFNDb21tb25Db25maWciIHZlcnNpb249IjAuMS4xIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iOToxLTk6NTciIGxvY2FsSWRlbnRpZmllcj0iUm91dGluZXMiIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUm91dGluZXMiIHZlcnNpb249IjAuMS4xIi8+CiAgIDwvaW5jbHVkZXM+CiAgIDxjb2Rlcz4KICAgICAgPGRlZiBsb2NhdG9yPSIxMToxLTExOjEwMiIgbmFtZT0iVXJpbmUgRHJ1ZyBTY3JlZW5pbmciIGlkPSIzMTA2MjcwMDgiIGRpc3BsYXk9IlVyaW5lIGRydWcgc2NyZWVuaW5nIChwcm9jZWR1cmUpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYXRvcj0iMTE6NDctMTE6NTkiIG5hbWU9IlNOT01FRCIgbGlicmFyeU5hbWU9IkNvbW1vbiIvPgogICAgICA8L2RlZj4KICAgPC9jb2Rlcz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjQwOjEtNDA6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDA6MS00MDoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNDA6MS00MDoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjQyOjEtNDQ6ODAiIG5hbWU9IkNocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI0MzozLTQ0OjgwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjQzOjMtNDM6NjciIGFsaWFzPSJBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNDM6My00MzozOCIgbmFtZT0iQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjQ0OjUtNDQ6ODAiIG5hbWU9IklzIENocm9uaWMgUGFpbiBQcmVzY3JpcHRpb24/IiBsaWJyYXJ5TmFtZT0iUm91dGluZXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjQ0OjUyLTQ0Ojc5IiBuYW1lPSJBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI0NjoxLTQ3Ojg5IiBuYW1lPSJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjQ3OjMtNDc6ODkiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI0NzoxMC00Nzo4OSIgbmFtZT0iQ2hyb25pYyBQYWluIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwgUHJlc2NyaXB0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI0OToxLTUyOjQ0IiBuYW1lPSJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNTA6My01Mjo0NCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUwOjMtNTE6NDAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1MDozLTUwOjgxIiBuYW1lPSJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTE6OS01MTo0MCIgbmFtZT0iSW5jbHVzaW9uIENyaXRlcmlhIiBsaWJyYXJ5TmFtZT0iUmVjMTBDb21tb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTI6OS01Mjo0NCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUyOjEzLTUyOjQ0IiBuYW1lPSJFeGNsdXNpb24gQ3JpdGVyaWEiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjU0OjEtNTU6NzIiIG5hbWU9IkFwcGxpY2FibGUgQmVjYXVzZSBvZiBQb3NpdGl2ZSBDb2NhaW5lIG9yIFBDUCBvciBPcGlhdGVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNTU6My01NTo3MiIgbmFtZT0iQXBwbGljYWJsZSBCZWNhdXNlIG9mIFBvc2l0aXZlIENvY2FpbmUgb3IgUENQIG9yIE9waWF0ZXMiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTc6MS01ODo2MiIgbmFtZT0iVXJpbmUgRHJ1ZyBTY3JlZW5pbmcgUHJvY2VkdXJlUmVxdWVzdCBDYXRlZ29yeSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjU4OjMtNTg6NjIiIG5hbWU9IlVyaW5lIERydWcgU2NyZWVuaW5nIFByb2NlZHVyZVJlcXVlc3QgQ2F0ZWdvcnkiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNjA6MS02MTo4MCIgbmFtZT0iRGV0YWlsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNjE6My02MTo4MCIgbmFtZT0iR2V0IERldGFpbCIgbGlicmFyeU5hbWU9IlJlYzEwQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2MToyOS02MTo3OSIgbmFtZT0iSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2MzoxLTY0OjI1IiBuYW1lPSJJbmRpY2F0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI2NDozLTY0OjI1IiBuYW1lPSJJbmRpY2F0b3IiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNjY6MS02Nzo4MSIgbmFtZT0iU3VtbWFyeSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjY3OjMtNjc6ODEiIG5hbWU9IkdldCBTdW1tYXJ5IiBsaWJyYXJ5TmFtZT0iUmVjMTBDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY3OjMwLTY3OjgwIiBuYW1lPSJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9Ijg5OjEtOTU6MyIgbmFtZT0iVG9Db2RpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjkwOjMtOTU6MyIgY2xhc3NUeXBlPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5MToxMS05MTo0MCIgY2xhc3NUeXBlPSJmaGlyOmNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjkxOjMwLTkxOjM4IiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkxOjMwLTkxOjMzIiBuYW1lPSJjb2RlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjkyOjEzLTkyOjQzIiBjbGFzc1R5cGU9ImZoaXI6dXJpIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5MjozMS05Mjo0MSIgcGF0aD0ic3lzdGVtIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkyOjMxLTkyOjM0IiBuYW1lPSJjb2RlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5MzoxNC05Mzo0OCIgY2xhc3NUeXBlPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iOTM6MzUtOTM6NDYiIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTM6MzUtOTM6MzgiIG5hbWU9ImNvZGUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijk0OjE0LTk0OjQ4IiBjbGFzc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5NDozNS05NDo0NiIgcGF0aD0iZGlzcGxheSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5NDozNS05NDozOCIgbmFtZT0iY29kZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSI4OTozMS04OTo0MSIgbmFtZT0idDpDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzM6MS04Nzo1IiBuYW1lPSJVcmluZSBEcnVnIFNjcmVlbmluZyBSZXF1ZXN0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzQ6NS04Nzo1IiBjbGFzc1R5cGU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3NjozMC03NjoxMzAiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iNzY6MzItNzY6MTI4IiBjbGFzc1R5cGU9ImZoaXI6Y2Fub25pY2FsIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3Njo1Ni03NjoxMjYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9hY3Rpdml0eWRlZmluaXRpb24vdXJpbmUtc2NyZWVuaW5nLXJlcXVlc3QiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3NzoxNS03Nzo1OCIgY2xhc3NUeXBlPSJmaGlyOlNlcnZpY2VSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3Nzo1MC03Nzo1NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRyYWZ0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50Ij4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc4OjE1LTc4OjYxIiBjbGFzc1R5cGU9ImZoaXI6U2VydmljZVJlcXVlc3RJbnRlbnQiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc4OjUwLTc4OjU5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icHJvcG9zYWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3OToxNy03OTo2NCIgY2xhc3NUeXBlPSJmaGlyOlNlcnZpY2VSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc5OjU0LTc5OjYyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icm91dGluZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODA6MTMtODA6ODEiIGNsYXNzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGluZyI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MDo0NC04MDo3OSIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSI4MDo0Ni04MDo3NyIgbmFtZT0iVG9Db2RpbmciIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgwOjU1LTgwOjc2IiBuYW1lPSJVcmluZSBEcnVnIFNjcmVlbmluZyIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MToxNi04MTo5MSIgY2xhc3NUeXBlPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgxOjQ0LTgxOjg5IiBjbGFzc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MTo2NS04MTo4NyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODE6NjUtODE6NzQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJQYXRpZW50LyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODE6NzgtODE6ODciIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjgxOjc4LTgxOjg0IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSI+CiAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MjoxOS04MjoxMjEiIGNsYXNzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgyOjQwLTgyOjcxIiBjbGFzc1R5cGU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODI6NjMtODI6NjkiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgyOjc5LTgyOjExOSIgY2xhc3NUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgyOjEwMi04MjoxMTciIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MjoxMDItODI6MTA4IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODI6MTEyLTgyOjExNyIgdmFsdWU9IjciIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6VGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODM6MTktODM6NDgiIGNsYXNzVHlwZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODM6NDItODM6NDYiIHhzaTp0eXBlPSJOb3ciLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODQ6MTktODQ6ODQiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iODQ6MjEtODQ6ODIiIGNsYXNzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODQ6NTAtODQ6ODAiIGNsYXNzVHlwZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijg0OjcxLTg0Ojc4IiBuYW1lPSJEZXRhaWwiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjQiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSI3NiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iNzYiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9Ijk4IiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSI5OCIgZW5kQ2hhcj0iOTYiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIGxpYnJhcnlTeXN0ZW09Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiIGxpYnJhcnlJZD0iT3Bpb2lkQ0RTQ29tbW9uIiBsaWJyYXJ5VmVyc2lvbj0iMC4xLjEiIHN0YXJ0TGluZT0iMTIwIiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSIxMjAiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9IjE0MiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iMTQyIiBlbmRDaGFyPSI5NiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSIxNjciIHN0YXJ0Q2hhcj0iMTgiIGVuZExpbmU9IjE2NyIgZW5kQ2hhcj0iMTAwIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8aWRlbnRpZmllciBpZD0iT3Bpb2lkQ0RTUkVDMTBQYXRpZW50VmlldyIgc3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiB2ZXJzaW9uPSIwLjEuMSIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjM6MS0zOjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iNC4wLjEiLz4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhdG9yPSI1OjEtNTo1NCIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI2OjEtNjo1MyIgbG9jYWxJZGVudGlmaWVyPSJDb21tb24iIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uIiB2ZXJzaW9uPSIwLjEuMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9Ijc6MS03OjYzIiBsb2NhbElkZW50aWZpZXI9IlJlYzEwQ29tbW9uIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU1JFQzEwQ29tbW9uIiB2ZXJzaW9uPSIwLjEuMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9Ijg6MS04OjU5IiBsb2NhbElkZW50aWZpZXI9IkNvbmZpZyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PcGlvaWRDRFNDb21tb25Db25maWciIHZlcnNpb249IjAuMS4xIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iOToxLTk6NTciIGxvY2FsSWRlbnRpZmllcj0iUm91dGluZXMiIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUm91dGluZXMiIHZlcnNpb249IjAuMS4xIi8+CiAgIDwvaW5jbHVkZXM+CiAgIDxjb2Rlcz4KICAgICAgPGRlZiBsb2NhdG9yPSIxMToxLTExOjEwMiIgbmFtZT0iVXJpbmUgRHJ1ZyBTY3JlZW5pbmciIGlkPSIzMTA2MjcwMDgiIGRpc3BsYXk9IlVyaW5lIGRydWcgc2NyZWVuaW5nIChwcm9jZWR1cmUpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYXRvcj0iMTE6NDctMTE6NTkiIG5hbWU9IlNOT01FRCIgbGlicmFyeU5hbWU9IkNvbW1vbiIvPgogICAgICA8L2RlZj4KICAgPC9jb2Rlcz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjQwOjEtNDA6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDA6MS00MDoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNDA6MS00MDoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjQyOjEtNDQ6ODAiIG5hbWU9IkNocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI0MzozLTQ0OjgwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjQzOjMtNDM6NjciIGFsaWFzPSJBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNDM6My00MzozOCIgbmFtZT0iQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjQ0OjUtNDQ6ODAiIG5hbWU9IklzIENocm9uaWMgUGFpbiBQcmVzY3JpcHRpb24/IiBsaWJyYXJ5TmFtZT0iUm91dGluZXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjQ0OjUyLTQ0Ojc5IiBuYW1lPSJBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI0NjoxLTQ3Ojg5IiBuYW1lPSJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjQ3OjMtNDc6ODkiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI0NzoxMC00Nzo4OSIgbmFtZT0iQ2hyb25pYyBQYWluIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwgUHJlc2NyaXB0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI0OToxLTUyOjQ0IiBuYW1lPSJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNTA6My01Mjo0NCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUwOjMtNTE6NDAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1MDozLTUwOjgxIiBuYW1lPSJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTE6OS01MTo0MCIgbmFtZT0iSW5jbHVzaW9uIENyaXRlcmlhIiBsaWJyYXJ5TmFtZT0iUmVjMTBDb21tb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTI6OS01Mjo0NCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUyOjEzLTUyOjQ0IiBuYW1lPSJFeGNsdXNpb24gQ3JpdGVyaWEiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjU0OjEtNTU6NzIiIG5hbWU9IkFwcGxpY2FibGUgQmVjYXVzZSBvZiBQb3NpdGl2ZSBDb2NhaW5lIG9yIFBDUCBvciBPcGlhdGVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNTU6My01NTo3MiIgbmFtZT0iQXBwbGljYWJsZSBCZWNhdXNlIG9mIFBvc2l0aXZlIENvY2FpbmUgb3IgUENQIG9yIE9waWF0ZXMiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTc6MS01ODo2MiIgbmFtZT0iVXJpbmUgRHJ1ZyBTY3JlZW5pbmcgUHJvY2VkdXJlUmVxdWVzdCBDYXRlZ29yeSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjU4OjMtNTg6NjIiIG5hbWU9IlVyaW5lIERydWcgU2NyZWVuaW5nIFByb2NlZHVyZVJlcXVlc3QgQ2F0ZWdvcnkiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNjA6MS02MTo4MCIgbmFtZT0iRGV0YWlsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNjE6My02MTo4MCIgbmFtZT0iR2V0IERldGFpbCIgbGlicmFyeU5hbWU9IlJlYzEwQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2MToyOS02MTo3OSIgbmFtZT0iSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2MzoxLTY0OjI1IiBuYW1lPSJJbmRpY2F0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI2NDozLTY0OjI1IiBuYW1lPSJJbmRpY2F0b3IiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNjY6MS02Nzo4MSIgbmFtZT0iU3VtbWFyeSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjY3OjMtNjc6ODEiIG5hbWU9IkdldCBTdW1tYXJ5IiBsaWJyYXJ5TmFtZT0iUmVjMTBDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY3OjMwLTY3OjgwIiBuYW1lPSJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9Ijg5OjEtOTU6MyIgbmFtZT0iVG9Db2RpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjkwOjMtOTU6MyIgY2xhc3NUeXBlPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5MToxMS05MTo0MCIgY2xhc3NUeXBlPSJmaGlyOmNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjkxOjMwLTkxOjM4IiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkxOjMwLTkxOjMzIiBuYW1lPSJjb2RlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjkyOjEzLTkyOjQzIiBjbGFzc1R5cGU9ImZoaXI6dXJpIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5MjozMS05Mjo0MSIgcGF0aD0ic3lzdGVtIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkyOjMxLTkyOjM0IiBuYW1lPSJjb2RlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5MzoxNC05Mzo0OCIgY2xhc3NUeXBlPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iOTM6MzUtOTM6NDYiIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTM6MzUtOTM6MzgiIG5hbWU9ImNvZGUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijk0OjE0LTk0OjQ4IiBjbGFzc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5NDozNS05NDo0NiIgcGF0aD0iZGlzcGxheSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5NDozNS05NDozOCIgbmFtZT0iY29kZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSI4OTozMS04OTo0MSIgbmFtZT0idDpDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzM6MS04Nzo1IiBuYW1lPSJVcmluZSBEcnVnIFNjcmVlbmluZyBSZXF1ZXN0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzQ6NS04Nzo1IiBjbGFzc1R5cGU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3NjozMC03NjoxMzAiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iNzY6MzItNzY6MTI4IiBjbGFzc1R5cGU9ImZoaXI6Y2Fub25pY2FsIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3Njo1Ni03NjoxMjYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9hY3Rpdml0eWRlZmluaXRpb24vdXJpbmUtc2NyZWVuaW5nLXJlcXVlc3QiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3NzoxNS03Nzo1OCIgY2xhc3NUeXBlPSJmaGlyOlNlcnZpY2VSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3Nzo1MC03Nzo1NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRyYWZ0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50Ij4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc4OjE1LTc4OjYxIiBjbGFzc1R5cGU9ImZoaXI6U2VydmljZVJlcXVlc3RJbnRlbnQiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc4OjUwLTc4OjU5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icHJvcG9zYWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3OToxNy03OTo2NCIgY2xhc3NUeXBlPSJmaGlyOlNlcnZpY2VSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc5OjU0LTc5OjYyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icm91dGluZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODA6MTMtODA6ODEiIGNsYXNzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGluZyI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MDo0NC04MDo3OSIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSI4MDo0Ni04MDo3NyIgbmFtZT0iVG9Db2RpbmciIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgwOjU1LTgwOjc2IiBuYW1lPSJVcmluZSBEcnVnIFNjcmVlbmluZyIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MToxNi04MTo5MSIgY2xhc3NUeXBlPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgxOjQ0LTgxOjg5IiBjbGFzc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MTo2NS04MTo4NyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODE6NjUtODE6NzQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJQYXRpZW50LyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODE6NzgtODE6ODciIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjgxOjc4LTgxOjg0IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSI+CiAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MjoxOS04MjoxMjEiIGNsYXNzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgyOjQwLTgyOjcxIiBjbGFzc1R5cGU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODI6NjMtODI6NjkiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgyOjc5LTgyOjExOSIgY2xhc3NUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgyOjEwMi04MjoxMTciIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MjoxMDItODI6MTA4IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODI6MTEyLTgyOjExNyIgdmFsdWU9IjciIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6VGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODM6MTktODM6NDgiIGNsYXNzVHlwZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODM6NDItODM6NDYiIHhzaTp0eXBlPSJOb3ciLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODQ6MTktODQ6ODQiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iODQ6MjEtODQ6ODIiIGNsYXNzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODQ6NTAtODQ6ODAiIGNsYXNzVHlwZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijg0OjcxLTg0Ojc4IiBuYW1lPSJEZXRhaWwiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" }, { "contentType": "application/elm+json", - "data": "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvclZlcnNpb24iIDogIjEuNCIsCiAgICAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA3NiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogNzYsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA5OCwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogOTgsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiAxMjAsCiAgICAgICAgICJzdGFydENoYXIiIDogMTQsCiAgICAgICAgICJlbmRMaW5lIiA6IDEyMCwKICAgICAgICAgImVuZENoYXIiIDogOTYsCiAgICAgICAgICJtZXNzYWdlIiA6ICJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIsCiAgICAgICAgICJlcnJvclR5cGUiIDogInNlbWFudGljIiwKICAgICAgICAgImVycm9yU2V2ZXJpdHkiIDogIndhcm5pbmciLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciIKICAgICAgfSwgewogICAgICAgICAibGlicmFyeVN5c3RlbSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIsCiAgICAgICAgICJsaWJyYXJ5SWQiIDogIk9waW9pZENEU0NvbW1vbiIsCiAgICAgICAgICJsaWJyYXJ5VmVyc2lvbiIgOiAiMC4xLjEiLAogICAgICAgICAic3RhcnRMaW5lIiA6IDE0MiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogMTQyLAogICAgICAgICAiZW5kQ2hhciIgOiA5NiwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9LCB7CiAgICAgICAgICJsaWJyYXJ5U3lzdGVtIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiwKICAgICAgICAgImxpYnJhcnlJZCIgOiAiT3Bpb2lkQ0RTQ29tbW9uIiwKICAgICAgICAgImxpYnJhcnlWZXJzaW9uIiA6ICIwLjEuMSIsCiAgICAgICAgICJzdGFydExpbmUiIDogMTYxLAogICAgICAgICAic3RhcnRDaGFyIiA6IDE4LAogICAgICAgICAiZW5kTGluZSIgOiAxNjEsCiAgICAgICAgICJlbmRDaGFyIiA6IDEwMCwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9IF0sCiAgICAgICJpZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJPcGlvaWRDRFNSRUMxMFBhdGllbnRWaWV3IiwKICAgICAgICAgInN5c3RlbSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICIwLjEuMSIKICAgICAgfSwKICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICJyMSIKICAgICAgfSwKICAgICAgInVzaW5ncyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzoxLTM6MjYiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSIiwKICAgICAgICAgICAgInVyaSIgOiAiaHR0cDovL2hsNy5vcmcvZmhpciIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJpbmNsdWRlcyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OjEtNTo1NCIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY6MS02OjUzIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiQ29tbW9uIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OjEtNzo2MyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUkVDMTBDb21tb24iLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMC4xLjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjg6MS04OjU5IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiQ29uZmlnIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOTo1NyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlJvdXRpbmVzIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUm91dGluZXMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMC4xLjEiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiY29kZXMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6MS0xMToxMDIiLAogICAgICAgICAgICAibmFtZSIgOiAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmciLAogICAgICAgICAgICAiaWQiIDogIjMxMDYyNzAwOCIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJVcmluZSBkcnVnIHNjcmVlbmluZyAocHJvY2VkdXJlKSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6NDctMTE6NTkiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiU05PTUVEIiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDb21tb24iCiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb250ZXh0cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAic3RhdGVtZW50cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjE1IiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDI6MS00NDo4MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDaHJvbmljIFBhaW4gT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCBQcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjMtNDQ6ODAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6My00Mzo2NyIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiQW1idWxhdG9yeU9waW9pZFByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjMtNDM6MzgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDb21tb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDQ6NS00NDo4MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJcyBDaHJvbmljIFBhaW4gUHJlc2NyaXB0aW9uPyIsCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUm91dGluZXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjUyLTQ0Ojc5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDY6MS00Nzo4OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NzozLTQ3Ojg5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ3OjEwLTQ3Ojg5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjEtNTI6NDQiLAogICAgICAgICAgICAibmFtZSIgOiAiSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MDozLTUyOjQ0IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6My01MTo0MCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjMtNTA6ODEiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBJcyBCZWluZyBQcmVzY3JpYmVkIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6OS01MTo0MCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJbmNsdXNpb24gQ3JpdGVyaWEiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mjo5LTUyOjQ0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjEzLTUyOjQ0IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkV4Y2x1c2lvbiBDcml0ZXJpYSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUmVjMTBDb21tb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxLTU1OjcyIiwKICAgICAgICAgICAgIm5hbWUiIDogIkFwcGxpY2FibGUgQmVjYXVzZSBvZiBQb3NpdGl2ZSBDb2NhaW5lIG9yIFBDUCBvciBPcGlhdGVzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjMtNTU6NzIiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiQXBwbGljYWJsZSBCZWNhdXNlIG9mIFBvc2l0aXZlIENvY2FpbmUgb3IgUENQIG9yIE9waWF0ZXMiLAogICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTc6MS01ODo2MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJVcmluZSBEcnVnIFNjcmVlbmluZyBQcm9jZWR1cmVSZXF1ZXN0IENhdGVnb3J5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU4OjMtNTg6NjIiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmcgUHJvY2VkdXJlUmVxdWVzdCBDYXRlZ29yeSIsCiAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUmVjMTBDb21tb24iLAogICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MDoxLTYxOjgwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkRldGFpbCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MTozLTYxOjgwIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBEZXRhaWwiLAogICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MToyOS02MTo3OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjYzOjEtNjQ6MjUiLAogICAgICAgICAgICAibmFtZSIgOiAiSW5kaWNhdG9yIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjMtNjQ6MjUiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiSW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjEtNjc6ODEiLAogICAgICAgICAgICAibmFtZSIgOiAiU3VtbWFyeSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NzozLTY3OjgxIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBTdW1tYXJ5IiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MzAtNjc6ODAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxLTk1OjMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9Db2RpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6My05NTozIiwKICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kaW5nIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjExLTkxOjQwIiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Y29kZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6MzAtOTE6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6MzAtOTE6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjEzLTkyOjQzIiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9dXJpIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozMS05Mjo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzeXN0ZW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjMxLTkyOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZlcnNpb24iLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MTQtOTM6NDgiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjM1LTkzOjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZlcnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjM1LTkzOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRpc3BsYXkiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MTQtOTQ6NDgiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjM1LTk0OjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BsYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjM1LTk0OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MzEtODk6NDEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Db2RlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MS04Nzo1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlVyaW5lIERydWcgU2NyZWVuaW5nIFJlcXVlc3QiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzQ6NS04Nzo1IiwKICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImluc3RhbnRpYXRlc0Nhbm9uaWNhbCIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NjozMC03NjoxMzAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MzItNzY6MTI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Y2Fub25pY2FsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Njo1Ni03NjoxMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvYWN0aXZpdHlkZWZpbml0aW9uL3VyaW5lLXNjcmVlbmluZy1yZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxNS03Nzo1OCIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Nzo1MC03Nzo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJkcmFmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImludGVudCIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODoxNS03ODo2MSIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0SW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODo1MC03ODo1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJwcm9wb3NhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByaW9yaXR5IiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjE3LTc5OjY0IiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3RQcmlvcml0eSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzk6NTQtNzk6NjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAicm91dGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6MTMtODA6ODEiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo0NC04MDo3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo0Ni04MDo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6NTUtODA6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6MTYtODE6OTEiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MTo0NC04MTo4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6NjUtODE6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjY1LTgxOjc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIlBhdGllbnQvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6NzgtODE6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjc4LTgxOjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAib2NjdXJyZW5jZSIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjE5LTgyOjEyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODI6NDAtODI6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjYzLTgyOjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjc5LTgyOjExOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODI6MTAyLTgyOjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjEwMi04MjoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjExMi04MjoxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogNywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogImRheXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVRpbWluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MzoxOS04Mzo0OCIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Mzo0Mi04Mzo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3ciCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVhc29uQ29kZSIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDoxOS04NDo4NCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDoyMS04NDo4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidGV4dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo1MC04NDo4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NzEtODQ6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGV0YWlsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0gXQogICAgICB9CiAgIH0KfQ==" + "data": "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvclZlcnNpb24iIDogIjEuNCIsCiAgICAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA3NiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogNzYsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA5OCwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogOTgsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiAxMjAsCiAgICAgICAgICJzdGFydENoYXIiIDogMTQsCiAgICAgICAgICJlbmRMaW5lIiA6IDEyMCwKICAgICAgICAgImVuZENoYXIiIDogOTYsCiAgICAgICAgICJtZXNzYWdlIiA6ICJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIsCiAgICAgICAgICJlcnJvclR5cGUiIDogInNlbWFudGljIiwKICAgICAgICAgImVycm9yU2V2ZXJpdHkiIDogIndhcm5pbmciLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciIKICAgICAgfSwgewogICAgICAgICAibGlicmFyeVN5c3RlbSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIsCiAgICAgICAgICJsaWJyYXJ5SWQiIDogIk9waW9pZENEU0NvbW1vbiIsCiAgICAgICAgICJsaWJyYXJ5VmVyc2lvbiIgOiAiMC4xLjEiLAogICAgICAgICAic3RhcnRMaW5lIiA6IDE0MiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogMTQyLAogICAgICAgICAiZW5kQ2hhciIgOiA5NiwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9LCB7CiAgICAgICAgICJsaWJyYXJ5U3lzdGVtIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiwKICAgICAgICAgImxpYnJhcnlJZCIgOiAiT3Bpb2lkQ0RTQ29tbW9uIiwKICAgICAgICAgImxpYnJhcnlWZXJzaW9uIiA6ICIwLjEuMSIsCiAgICAgICAgICJzdGFydExpbmUiIDogMTY3LAogICAgICAgICAic3RhcnRDaGFyIiA6IDE4LAogICAgICAgICAiZW5kTGluZSIgOiAxNjcsCiAgICAgICAgICJlbmRDaGFyIiA6IDEwMCwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9IF0sCiAgICAgICJpZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJPcGlvaWRDRFNSRUMxMFBhdGllbnRWaWV3IiwKICAgICAgICAgInN5c3RlbSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICIwLjEuMSIKICAgICAgfSwKICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICJyMSIKICAgICAgfSwKICAgICAgInVzaW5ncyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzoxLTM6MjYiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSIiwKICAgICAgICAgICAgInVyaSIgOiAiaHR0cDovL2hsNy5vcmcvZmhpciIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJpbmNsdWRlcyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OjEtNTo1NCIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY6MS02OjUzIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiQ29tbW9uIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OjEtNzo2MyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUkVDMTBDb21tb24iLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMC4xLjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjg6MS04OjU5IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiQ29uZmlnIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOTo1NyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlJvdXRpbmVzIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUm91dGluZXMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMC4xLjEiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiY29kZXMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6MS0xMToxMDIiLAogICAgICAgICAgICAibmFtZSIgOiAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmciLAogICAgICAgICAgICAiaWQiIDogIjMxMDYyNzAwOCIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJVcmluZSBkcnVnIHNjcmVlbmluZyAocHJvY2VkdXJlKSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6NDctMTE6NTkiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiU05PTUVEIiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDb21tb24iCiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb250ZXh0cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAic3RhdGVtZW50cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjE1IiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDI6MS00NDo4MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDaHJvbmljIFBhaW4gT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCBQcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjMtNDQ6ODAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6My00Mzo2NyIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiQW1idWxhdG9yeU9waW9pZFByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjMtNDM6MzgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDb21tb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDQ6NS00NDo4MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJcyBDaHJvbmljIFBhaW4gUHJlc2NyaXB0aW9uPyIsCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUm91dGluZXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjUyLTQ0Ojc5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDY6MS00Nzo4OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NzozLTQ3Ojg5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ3OjEwLTQ3Ojg5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjEtNTI6NDQiLAogICAgICAgICAgICAibmFtZSIgOiAiSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MDozLTUyOjQ0IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6My01MTo0MCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjMtNTA6ODEiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBJcyBCZWluZyBQcmVzY3JpYmVkIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6OS01MTo0MCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJbmNsdXNpb24gQ3JpdGVyaWEiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mjo5LTUyOjQ0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjEzLTUyOjQ0IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkV4Y2x1c2lvbiBDcml0ZXJpYSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUmVjMTBDb21tb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxLTU1OjcyIiwKICAgICAgICAgICAgIm5hbWUiIDogIkFwcGxpY2FibGUgQmVjYXVzZSBvZiBQb3NpdGl2ZSBDb2NhaW5lIG9yIFBDUCBvciBPcGlhdGVzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjMtNTU6NzIiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiQXBwbGljYWJsZSBCZWNhdXNlIG9mIFBvc2l0aXZlIENvY2FpbmUgb3IgUENQIG9yIE9waWF0ZXMiLAogICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTc6MS01ODo2MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJVcmluZSBEcnVnIFNjcmVlbmluZyBQcm9jZWR1cmVSZXF1ZXN0IENhdGVnb3J5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU4OjMtNTg6NjIiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmcgUHJvY2VkdXJlUmVxdWVzdCBDYXRlZ29yeSIsCiAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUmVjMTBDb21tb24iLAogICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MDoxLTYxOjgwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkRldGFpbCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MTozLTYxOjgwIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBEZXRhaWwiLAogICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MToyOS02MTo3OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjYzOjEtNjQ6MjUiLAogICAgICAgICAgICAibmFtZSIgOiAiSW5kaWNhdG9yIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjMtNjQ6MjUiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiSW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjEtNjc6ODEiLAogICAgICAgICAgICAibmFtZSIgOiAiU3VtbWFyeSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NzozLTY3OjgxIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBTdW1tYXJ5IiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MzAtNjc6ODAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxLTk1OjMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9Db2RpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6My05NTozIiwKICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kaW5nIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjExLTkxOjQwIiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Y29kZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6MzAtOTE6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6MzAtOTE6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjEzLTkyOjQzIiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9dXJpIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozMS05Mjo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzeXN0ZW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjMxLTkyOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZlcnNpb24iLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MTQtOTM6NDgiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjM1LTkzOjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZlcnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjM1LTkzOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRpc3BsYXkiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MTQtOTQ6NDgiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjM1LTk0OjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BsYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjM1LTk0OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MzEtODk6NDEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Db2RlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MS04Nzo1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlVyaW5lIERydWcgU2NyZWVuaW5nIFJlcXVlc3QiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzQ6NS04Nzo1IiwKICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImluc3RhbnRpYXRlc0Nhbm9uaWNhbCIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NjozMC03NjoxMzAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MzItNzY6MTI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Y2Fub25pY2FsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Njo1Ni03NjoxMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvYWN0aXZpdHlkZWZpbml0aW9uL3VyaW5lLXNjcmVlbmluZy1yZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxNS03Nzo1OCIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Nzo1MC03Nzo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJkcmFmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImludGVudCIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODoxNS03ODo2MSIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0SW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODo1MC03ODo1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJwcm9wb3NhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByaW9yaXR5IiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjE3LTc5OjY0IiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3RQcmlvcml0eSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzk6NTQtNzk6NjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAicm91dGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6MTMtODA6ODEiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo0NC04MDo3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo0Ni04MDo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6NTUtODA6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6MTYtODE6OTEiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MTo0NC04MTo4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6NjUtODE6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjY1LTgxOjc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIlBhdGllbnQvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6NzgtODE6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjc4LTgxOjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAib2NjdXJyZW5jZSIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjE5LTgyOjEyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODI6NDAtODI6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjYzLTgyOjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjc5LTgyOjExOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODI6MTAyLTgyOjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjEwMi04MjoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjExMi04MjoxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogNywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogImRheXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVRpbWluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MzoxOS04Mzo0OCIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Mzo0Mi04Mzo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3ciCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVhc29uQ29kZSIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDoxOS04NDo4NCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDoyMS04NDo4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidGV4dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo1MC04NDo4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NzEtODQ6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGV0YWlsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0gXQogICAgICB9CiAgIH0KfQ==" } ] } \ No newline at end of file From 3181eed7bc38aba9ad6268713819b030d267aa4b Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 11:34:46 -0600 Subject: [PATCH 06/24] Simplified common cql logic ... fixed rec 1 tests - working --- ...mple-rec-01-true-make-recommendations.json | 29 ----- input/pagecontent/cql/OpioidCDSCommon.cql | 108 ++++------------- ...t-example-rec-01-in-outpatient-opioid.json | 72 +++--------- ...t-example-rec-01-out-inpatient-opioid.json | 18 +-- ...-example-rec-02-in-careplan-revisited.json | 2 +- ...ple-rec-02-out-careplan-not-revisited.json | 2 +- ...ec-03-in-no-counseling-within-90-days.json | 2 +- ...-rec-03-out-counseling-within-90-days.json | 2 +- ...est-example-rec-04-long-acting-opioid.json | 2 +- .../request-example-rec-04-new-patient.json | 2 +- ...example-rec-04-not-long-acting-opioid.json | 2 +- ...le-rec-04-opioid-with-abuse-potential.json | 2 +- ...ec-04-patient-view-long-acting-opioid.json | 2 +- ...ample-rec-04-patient-view-new-patient.json | 2 +- ...4-patient-view-not-long-acting-opioid.json | 2 +- ...ient-view-opioid-with-abuse-potential.json | 2 +- ...example-rec-05-mme-greater-than-fifty.json | 2 +- ...st-example-rec-05-mme-less-than-fifty.json | 2 +- ...equest-example-rec-06-in-criteria-met.json | 2 +- ...e-rec-06-out-extended-release-27-days.json | 2 +- ...-example-rec-07-end-of-life-exclusion.json | 2 +- ...equest-example-rec-07-risk-assessment.json | 2 +- ...example-rec-07-seven-of-past-ten-days.json | 2 +- ...t-example-rec-07-six-of-past-ten-days.json | 2 +- ...rec-07-sixtythree-of-past-ninety-days.json | 2 +- ...e-rec-07-sixtytwo-of-past-ninety-days.json | 2 +- ...example-rec-08-mme-greater-than-fifty.json | 2 +- ...st-example-rec-08-mme-less-than-fifty.json | 2 +- ...uest-example-rec-08-multiple-doseRate.json | 2 +- ...uest-example-rec-08-on-benzodiazepine.json | 2 +- .../request-example-rec-08-on-naloxone.json | 2 +- ...equest-example-rec-08-substance-abuse.json | 2 +- ...ample-rec-08-order-sign-mme-doseRange.json | 2 +- ...-08-order-sign-mme-greater-than-fifty.json | 2 +- ...rec-08-order-sign-mme-less-than-fifty.json | 2 +- ...e-rec-08-order-sign-multiple-doseRate.json | 2 +- ...e-rec-08-order-sign-on-benzodiazepine.json | 2 +- ...example-rec-08-order-sign-on-naloxone.json | 2 +- ...ple-rec-08-order-sign-substance-abuse.json | 2 +- ...equest-example-rec-09-in-criteria-met.json | 2 +- ...xample-rec-09-out-PDMP-review-90-days.json | 2 +- ...equest-example-rec-10-2-illicit-drugs.json | 2 +- ...mple-rec-10-end-of-life-med-exclusion.json | 2 +- ...mple-rec-10-illicit-drugs-POS-Cocaine.json | 2 +- ...llicit-drugs-POS-Opiate-non-synthetic.json | 2 +- ...ample-rec-10-illicit-drugs-POS-Opiate.json | 2 +- ...-example-rec-10-illicit-drugs-POS-PCP.json | 2 +- .../request-example-rec-10-no-screenings.json | 2 +- ...ple-rec-10-order-sign-2-illicit-drugs.json | 2 +- ...-order-sign-illicit-drugs-POS-Cocaine.json | 2 +- ...0-order-sign-illicit-drugs-POS-Opiate.json | 2 +- ...c-10-order-sign-illicit-drugs-POS-PCP.json | 2 +- ...ample-rec-10-order-sign-no-screenings.json | 2 +- ...e-rec-10-patient-view-2-illicit-drugs.json | 2 +- ...ample-rec-10-patient-view-POS-Cocaine.json | 2 +- ...t-example-rec-10-patient-view-POS-PCP.json | 2 +- ...atient-view-end-of-life-med-exclusion.json | 2 +- ...patient-view-illicit-drugs-POS-Opiate.json | 2 +- ...ple-rec-10-patient-view-illicit-drugs.json | 2 +- ...tient-view-no-screenings-by-reference.json | 2 +- ...ple-rec-10-patient-view-no-screenings.json | 2 +- ...mple-rec-11-benzo-trigger-with-opioid.json | 2 +- ...e-rec-11-benzo-trigger-without-opioid.json | 2 +- ...mple-rec-11-opioid-trigger-with-benzo.json | 2 +- ...e-rec-11-opioid-trigger-without-benzo.json | 2 +- ...atient-view-benzo-trigger-with-opioid.json | 2 +- ...ent-view-benzo-trigger-without-opioid.json | 2 +- ...atient-view-opioid-trigger-with-benzo.json | 2 +- ...ent-view-opioid-trigger-without-benzo.json | 2 +- ...e-rec-12-patient-view-in-criteria-met.json | 2 +- ...rec-12-patient-view-out-opioid-misuse.json | 2 +- input/resources/library/OpioidCDSCommon.json | 97 ++-------------- .../library/OpioidCDSREC04PatientView.json | 37 ++---- input/resources/library/OpioidCDSREC05.json | 32 +---- input/resources/library/OpioidCDSREC08.json | 104 ++++------------- .../library/OpioidCDSREC10PatientView.json | 41 +++---- input/resources/library/OpioidCDSREC11.json | 67 +---------- .../library/OpioidCDSREC11PatientView.json | 53 +-------- .../resources/library/OpioidCDSRoutines.json | 33 ++---- thunder-tests/thunderCollection.json | 6 +- thunder-tests/thunderEnvironment.json | 25 +++- thunder-tests/thunderclient.json | 109 ++++++++++-------- 82 files changed, 279 insertions(+), 686 deletions(-) diff --git a/input/examples/bundle-example-rec-01-true-make-recommendations.json b/input/examples/bundle-example-rec-01-true-make-recommendations.json index c14ca34b..527a7c78 100644 --- a/input/examples/bundle-example-rec-01-true-make-recommendations.json +++ b/input/examples/bundle-example-rec-01-true-make-recommendations.json @@ -65,34 +65,5 @@ "method": "PUT", "url": "MedicationStatement/example-rec-01-true-make-recommendations" } - }, { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-01-true-make-recommendations", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-01-true-make-recommendations", - "status": "active", - "intent": "order", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } ] - } ], - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } ] - }, - "subject": { - "reference": "Patient/example-rec-01-true-make-recommendations" - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-01-true-make-recommendations" - } } ] } \ No newline at end of file diff --git a/input/pagecontent/cql/OpioidCDSCommon.cql b/input/pagecontent/cql/OpioidCDSCommon.cql index 74c124bf..fa0727aa 100644 --- a/input/pagecontent/cql/OpioidCDSCommon.cql +++ b/input/pagecontent/cql/OpioidCDSCommon.cql @@ -68,69 +68,24 @@ define "Opioid Other Than Synthetic Ordered In Last 12 Months": define "Active Ambulatory Opioid Rx": ( - ("Get Active Ambulatory Medication Requests"([MedicationRequest: status in "Active MedicationRequest"])) MR - where date from MR.authoredOn 2 years or less on or before Today() - and MR.medication is Reference or MR.medication in "Opioid analgesics with ambulatory misuse potential" - and MR.category in "Community" + "Get MedicationRequest Medication as Code"("Get Active Ambulatory Medication Requests"([MedicationRequest])) ) Rx - let Med: [Medication: id in (Last(Split((Rx.medication as FHIR.Reference).reference, '/')))] - where not(Rx.medication is Reference) or Med.code in "Opioid analgesics with ambulatory misuse potential" - return - MedicationRequest { - id: Rx.id, - status: Rx.status, - intent: Rx.intent, - category: Rx.category, - medication: if Rx.medication is Reference then First(Med.code) else Rx.medication as CodeableConcept, - subject: Rx.subject, - recorder: Rx.recorder, - dosageInstruction: Rx.dosageInstruction, - dispenseRequest: Rx.dispenseRequest - } + where date from Rx.authoredOn 2 years or less on or before Today() + and Rx.medication in "Opioid analgesics with ambulatory misuse potential" define "Active Ambulatory Benzodiazepine Rx": ( - ("Get Active Ambulatory Medication Requests"([MedicationRequest: status in "Active MedicationRequest"])) MR - where date from MR.authoredOn 2 years or less on or before Today() - and MR.medication is Reference or MR.medication in "Benzodiazepine medications" - and MR.category in "Community" + "Get MedicationRequest Medication as Code"("Get Active Ambulatory Medication Requests"([MedicationRequest])) ) Rx - let Med: [Medication: id in (Last(Split((Rx.medication as FHIR.Reference).reference, '/')))] - where not(Rx.medication is Reference) or Med.code in "Benzodiazepine medications" - return - MedicationRequest { - id: Rx.id, - status: Rx.status, - intent: Rx.intent, - category: Rx.category, - medication: if Rx.medication is Reference then First(Med.code) else Rx.medication as CodeableConcept, - subject: Rx.subject, - recorder: Rx.recorder, - dosageInstruction: Rx.dosageInstruction, - dispenseRequest: Rx.dispenseRequest - } + where date from Rx.authoredOn 2 years or less on or before Today() + and Rx.medication in "Benzodiazepine medications" define "Active Ambulatory Naloxone Rx": ( - ("Get Active Ambulatory Medication Requests"([MedicationRequest: status in "Active MedicationRequest"])) MR - where date from MR.authoredOn 2 years or less on or before Today() - and MR.medication is Reference or MR.medication in "Naloxone medications" - and MR.category in "Community" + "Get MedicationRequest Medication as Code"("Get Active Ambulatory Medication Requests"([MedicationRequest])) ) Rx - let Med: [Medication: id in (Last(Split((Rx.medication as FHIR.Reference).reference, '/')))] - where not(Rx.medication is Reference) or Med.code in "Naloxone medications" - return - MedicationRequest { - id: Rx.id, - status: Rx.status, - intent: Rx.intent, - category: Rx.category, - medication: if Rx.medication is Reference then First(Med.code) else Rx.medication as CodeableConcept, - subject: Rx.subject, - recorder: Rx.recorder, - dosageInstruction: Rx.dosageInstruction, - dispenseRequest: Rx.dispenseRequest - } + where date from Rx.authoredOn 2 years or less on or before Today() + and Rx.medication in "Naloxone medications" define function "Get Active Ambulatory Medication Requests" (value List) returns List: value Rx @@ -138,17 +93,19 @@ define function "Get Active Ambulatory Medication Requests" (value List): + ("Get MedicationRequest Medication as Code"(value)) Rx + where Rx.medication in "Opioid analgesics with ambulatory misuse potential" + and Rx.category in "Community" + +define function "Is Benzodiazepine?"(value List): + ("Get MedicationRequest Medication as Code"(value)) Rx + where Rx.medication in "Benzodiazepine medications" + and Rx.category in "Community" + +define function "Get MedicationRequest Medication as Code"(value List): value Rx let Med: [Medication: id in (Last(Split((Rx.medication as FHIR.Reference).reference, '/')))] - where ( - ( - not(Rx.medication is Reference) - and Rx.medication in "Opioid analgesics with ambulatory misuse potential" - ) - or Med.code in "Opioid analgesics with ambulatory misuse potential" - ) - and Rx.category in "Community" - return + return MedicationRequest { id: Rx.id, status: Rx.status, @@ -162,31 +119,6 @@ define function "Is Opioid Analgesic with Ambulatory Misuse Potential?"(value Li dispenseRequest: Rx.dispenseRequest } - define function "Is Benzodiazepine?"(value List): - value Rx - let Med: [Medication: id in (Last(Split((Rx.medication as FHIR.Reference).reference, '/')))] - where ( - ( - not(Rx.medication is Reference) - and Rx.medication in "Benzodiazepine medications" - ) - or Med.code in "Benzodiazepine medications" - ) - and Rx.category in "Community" - return - MedicationRequest { - id: Rx.id, - status: Rx.status, - intent: Rx.intent, - category: Rx.category, - medication: if Rx.medication is Reference then First(Med.code) else Rx.medication as CodeableConcept, - subject: Rx.subject, - authoredOn: Rx.authoredOn, - recorder: Rx.recorder, - dosageInstruction: Rx.dosageInstruction, - dispenseRequest: Rx.dispenseRequest - } - define "End of Life Assessment": // 1. Conditions indicating end of life or with limited life expectancy exists ( diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json index 8d7c51d4..117fb1d0 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "6bc883b2-b795-4dcb-b661-34884a31d472", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", @@ -22,12 +22,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -42,7 +42,7 @@ { "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community", "display": "Community" } @@ -64,7 +64,7 @@ "encounter": { "reference": "Encounter/example-rec-01-in-outpatient-opioid-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -74,13 +74,21 @@ "periodUnit": "d" } }, - "asNeededBoolean": false + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "film" + } + } + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -109,7 +117,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -123,56 +131,14 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } }, "item3": null, "item4": null, "item5": null, "item6": null, - "item7": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "MedicationStatement", - "id": "cabc72ea-c67d-4b87-be3b-e79bc39015eb", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "active", - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } - ] - }, - "subject": { - "reference": "Patient/8119002c-6322-4d16-988b-36bb6d9b3940-1" - }, - "effectiveDateTime": "2022-04-30" - } - }, + "item7": null, "item8": null, "item9": null, "item10": null diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json index c7107ed0..f8593da3 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "32a89854-a395-4f0e-8fa7-a660c7c9dd3d", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", @@ -22,12 +22,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -42,7 +42,7 @@ { "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "inpatient", "display": "Inpatient" } @@ -64,7 +64,7 @@ "encounter": { "reference": "Encounter/example-rec-01-in-inpatient-opioid-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -79,8 +79,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -109,7 +109,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -123,7 +123,7 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } }, "item2": null, diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json index 92836be5..22f9b171 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json @@ -1,6 +1,6 @@ { "hookInstance": "2c7a36a1-1e82-4608-87be-fc13f730ec49", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json index e407cdbf..4df206a5 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json @@ -1,6 +1,6 @@ { "hookInstance": "95e3c637-8c92-4d48-9e00-fa223b072506", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json index d544317e..d2fabc47 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json @@ -1,6 +1,6 @@ { "hookInstance": "53a6848f-0d7a-467a-9d6e-0c612a7ddb15", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json index e8e26743..1e10c47b 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json @@ -1,6 +1,6 @@ { "hookInstance": "a1836eaf-5987-4144-ac00-ca3b63c9a98e", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json index 359ff1d9..24f24c79 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "9d02e4d7-2d5b-492f-8f77-d76edb47168b", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json index 7358e878..05e34673 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json @@ -1,6 +1,6 @@ { "hookInstance": "3a2ff17f-4d50-43a0-a409-20d7686b90ea", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json index 445bc12b..0fe6899e 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "e9f6b9a0-366c-47af-b11b-f6d54797030a", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json index 5efd08d2..04342fa2 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json @@ -1,6 +1,6 @@ { "hookInstance": "1bf95787-c6eb-42c5-aacd-405803921024", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json index 87d48510..0bd1140f 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "9d02e4d7-2d5b-492f-8f77-d76edb47168b", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json index 7f9f68e5..cfb4d2d1 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json @@ -1,6 +1,6 @@ { "hookInstance": "3a2ff17f-4d50-43a0-a409-20d7686b90ea", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json index a152353d..867e10d3 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "e9f6b9a0-366c-47af-b11b-f6d54797030a", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json index f6d279b7..d6814719 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json @@ -1,6 +1,6 @@ { "hookInstance": "1bf95787-c6eb-42c5-aacd-405803921024", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json index 4163556a..14f8c6a1 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "4676f1ae-65c0-4935-9833-35a123e4767a", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json index 3f967e87..b239ba06 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "2d1c3d80-69c7-444e-bd89-ce36dda0647d", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json index 520b540f..6e80ad74 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json @@ -1,6 +1,6 @@ { "hookInstance": "8ef84771-16e2-487c-8042-b097009b7d64", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json index 22bd6aac..7be6315d 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json @@ -1,6 +1,6 @@ { "hookInstance": "c7107fd7-7be4-4837-9892-2f31b3224ffe", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json index d30d9463..c119a2b7 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json @@ -1,6 +1,6 @@ { "hookInstance": "10a3a703-86d7-4818-ae03-3f7e436bfd2a", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json index 08db673d..7af78278 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json @@ -1,6 +1,6 @@ { "hookInstance": "f4a85598-bc39-4c4f-a944-c876eb0e984e", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json index b39810f1..a960ca4a 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json @@ -1,6 +1,6 @@ { "hookInstance": "fa44ba28-6895-4060-b7d0-9e86715e0e08", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json index 53f2c15a..43ceea88 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json @@ -1,6 +1,6 @@ { "hookInstance": "d23ec776-f58a-4902-b0a4-6ef3d9f59309", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json index 2ad3222d..bd132c1c 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json @@ -1,6 +1,6 @@ { "hookInstance": "d4318443-3981-4def-b852-dbb47ec1827b", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json index ce8d871b..31cf739b 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json @@ -1,6 +1,6 @@ { "hookInstance": "e0493f61-6b3e-4eab-a6f9-45cd54ef5558", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json index 543d592b..1a4cc493 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "229a709f-ee1c-4954-b7fd-72e6c46706dd", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json index 700c3196..e18cc18e 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "7d7eab76-d435-458d-8432-de2d35ccac9e", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json index c14a617b..8335c475 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-multiple-doseRate.json @@ -1,6 +1,6 @@ { "hookInstance": "229a709f-ee1c-4954-b7fd-72e6c46706dd", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json index 9dc18084..c383266a 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json @@ -1,6 +1,6 @@ { "hookInstance": "a3f05376-ec08-4102-a8ba-2c88c0af2f8f", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json index 35ceefdd..deeffddf 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json @@ -1,6 +1,6 @@ { "hookInstance": "becfdcbd-0f8c-4f01-831c-a20ff695c5b3", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json index 306cf6f9..c29d4000 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json @@ -1,6 +1,6 @@ { "hookInstance": "b32cab7a-75ea-4cd1-9514-20ebf473cac9", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json index a0a9b628..85a4c101 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json @@ -1,6 +1,6 @@ { "hookInstance": "rec08-p02-5", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example-rec-08-order-sign", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json index 7ff945c8..e81e5003 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "229a709f-ee1c-4954-b7fd-72e6c46706dd", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json index 0fc91a4e..ca5c7e54 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json @@ -1,6 +1,6 @@ { "hookInstance": "7d7eab76-d435-458d-8432-de2d35ccac9e", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json index 44059f11..11fbc3df 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-multiple-doseRate.json @@ -1,6 +1,6 @@ { "hookInstance": "229a709f-ee1c-4954-b7fd-72e6c46706dd", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json index 089c523c..12d7ade0 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json @@ -1,6 +1,6 @@ { "hookInstance": "a3f05376-ec08-4102-a8ba-2c88c0af2f8f", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json index 9c3c1875..ec0ed54e 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json @@ -1,6 +1,6 @@ { "hookInstance": "becfdcbd-0f8c-4f01-831c-a20ff695c5b3", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json index aa8864ae..06b460f7 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json @@ -1,6 +1,6 @@ { "hookInstance": "b32cab7a-75ea-4cd1-9514-20ebf473cac9", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json index 05ca9d4f..3b7fc62b 100755 --- a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json @@ -1,6 +1,6 @@ { "hookInstance": "6a7fbd0e-f48e-4936-a2b6-dfeefed8575d", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json index 0895efb5..17acb5f1 100755 --- a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json @@ -1,6 +1,6 @@ { "hookInstance": "3efef233-82fa-461b-9436-c799313e9a90", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json index d15c2823..a21afa5c 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json index ad033fc5..02e2d73d 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json @@ -1,6 +1,6 @@ { "hookInstance": "514b3e2f-2daf-4045-9c56-ad891fc6e233", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json index b42ef7e4..144a794e 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Cocaine.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json index 2a676356..6bb82536 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate-non-synthetic.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json index 2b05c9b0..19d60f36 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-Opiate.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json index ff6f8aca..5a99fc1f 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs-POS-PCP.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json index 850a00ea..7e0f7631 100644 --- a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-no-screenings.json @@ -1,6 +1,6 @@ { "hookInstance": "a172a2ce-38e7-4a21-a411-522cf481d5d1", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json index a4d2fcaa..4dc2953e 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json index 75ac4a67..7acfec57 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Cocaine.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json index cbaae6d6..d702bff9 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-Opiate.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json index 5c5553fd..a534063f 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs-POS-PCP.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json index f60c7a9a..94217cb0 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json @@ -1,6 +1,6 @@ { "hookInstance": "a172a2ce-38e7-4a21-a411-522cf481d5d1", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-sign", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json index 4a82332c..29fa885f 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-2-illicit-drugs.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json index 03115bb4..d9e61bcd 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-Cocaine.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json index ada8568f..bcbe0e77 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-POS-PCP.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json index 9d33b423..62fe414d 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json @@ -1,6 +1,6 @@ { "hookInstance": "514b3e2f-2daf-4045-9c56-ad891fc6e233", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json index a7ccb383..4b23bf52 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs-POS-Opiate.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json index 24296ef2..66784133 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-illicit-drugs.json @@ -1,6 +1,6 @@ { "hookInstance": "31c74cfc-747c-4afc-82e4-bdd3b7a0a58c", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json index 107cc1de..a10afbe7 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings-by-reference.json @@ -1,6 +1,6 @@ { "hookInstance": "a172a2ce-38e7-4a21-a411-522cf481d5d1", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json index c6c13485..2962fb76 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json @@ -1,6 +1,6 @@ { "hookInstance": "a172a2ce-38e7-4a21-a411-522cf481d5d1", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json index 7229ac46..d15e5b01 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "b266185d-c26a-40dd-a024-70b5b6222170", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json index f32ead84..74d7fa39 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "259cf767-4b52-4e14-a741-04da147a430f", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json index 10ab9157..06be269f 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json @@ -1,6 +1,6 @@ { "hookInstance": "3078316d-e23f-4094-aec6-a6094ad29204", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json index 86331156..f394205b 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json @@ -1,6 +1,6 @@ { "hookInstance": "49192bd1-f7f3-4bdd-bc5f-997dd59a950a", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "order-select", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json index 3634a640..a742f927 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "b266185d-c26a-40dd-a024-70b5b6222170", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json index e38bb1db..83d87664 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json @@ -1,6 +1,6 @@ { "hookInstance": "259cf767-4b52-4e14-a741-04da147a430f", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json index 09d6f9a4..9407f2a4 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json @@ -1,6 +1,6 @@ { "hookInstance": "3078316d-e23f-4094-aec6-a6094ad29204", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json index 71549228..9c17fd14 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json @@ -1,6 +1,6 @@ { "hookInstance": "49192bd1-f7f3-4bdd-bc5f-997dd59a950a", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json index 3dc05982..98ed56d6 100644 --- a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json @@ -1,6 +1,6 @@ { "hookInstance": "17ff4874-b68a-490c-abaa-b62b1a91b1bd", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json index 45c14607..87bc9ba0 100644 --- a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json +++ b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json @@ -1,6 +1,6 @@ { "hookInstance": "3d75f421-9eeb-46d0-aa18-9aa9c720833a", - "fhirServer": "https://cloud.alphora.com/sandbox/r4/cds/fhir", + "fhirServer": "http://localhost:8080/fhir", "hook": "patient-view", "context": { "userId": "Practitioner/example", diff --git a/input/resources/library/OpioidCDSCommon.json b/input/resources/library/OpioidCDSCommon.json index 540ffb32..ffb84310 100644 --- a/input/resources/library/OpioidCDSCommon.json +++ b/input/resources/library/OpioidCDSCommon.json @@ -299,22 +299,6 @@ "path": "status", "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] }, { "type": "Medication", "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], @@ -324,88 +308,25 @@ } ] }, { "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "Condition", "profile": [ "http://hl7.org/fhir/StructureDefinition/Condition" ], @@ -460,12 +381,12 @@ } ], "content": [ { "contentType": "text/cql", - "data": "bGlicmFyeSBPcGlvaWRDRFNDb21tb24gdmVyc2lvbiAnMC4xLjEnCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgT01US0xvZ2ljTUsyMDIwIHZlcnNpb24gJzAuMS4xJyBjYWxsZWQgT01US0xvZ2ljCmluY2x1ZGUgT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIHZlcnNpb24gJzAuMS4xJyBjYWxsZWQgQ29uZmlnCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJTTk9NRUQiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdCcKCi8vIEV4cHJlc3Npb24tYmFzZWQKdmFsdWVzZXQgIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLWFuYWxnZXNpY3Mtd2l0aC1hbWJ1bGF0b3J5LW1pc3VzZS1wb3RlbnRpYWwnCnZhbHVlc2V0ICJFeHRlbmRlZCByZWxlYXNlIG9waW9pZCB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2V4dGVuZGVkLXJlbGVhc2Utb3Bpb2lkLXdpdGgtYW1idWxhdG9yeS1taXN1c2UtcG90ZW50aWFsJwp2YWx1ZXNldCAiQnVwcmVub3JwaGluZSBhbmQgbWV0aGFkb25lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvYnVwcmVub3JwaGluZS1hbmQtbWV0aGFkb25lLW1lZGljYXRpb25zJwp2YWx1ZXNldCAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ub24tc3ludGhldGljLW9waW9pZC1tZWRpY2F0aW9ucycKCi8vIEVudW1lcmF0ZWQtY29tcG9zZQp2YWx1ZXNldCAiTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2xpbWl0ZWQtbGlmZS1leHBlY3RhbmN5LWNvbmRpdGlvbnMnCnZhbHVlc2V0ICJUaGVyYXBpZXMgaW5kaWNhdGluZyBlbmQgb2YgbGlmZSBjYXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvdGhlcmFwaWVzLWluZGljYXRpbmctZW5kLW9mLWxpZmUtY2FyZScKdmFsdWVzZXQgIkNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmciOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb25zLWxpa2VseS10ZXJtaW5hbC1mb3Itb3Bpb2lkLXByZXNjcmliaW5nJwp2YWx1ZXNldCAiQ0RDIG1hbGlnbmFudCBjYW5jZXIgY29uZGl0aW9ucyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NkYy1tYWxpZ25hbnQtY2FuY2VyLWNvbmRpdGlvbnMnCnZhbHVlc2V0ICJPbmNvbG9neSBzcGVjaWFsdHkgZGVzaWduYXRpb25zIChOVUNDKSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29uY29sb2d5LXNwZWNpYWx0eS1kZXNpZ25hdGlvbnMnCnZhbHVlc2V0ICJPcGlvaWQgbWlzdXNlIGRpc29yZGVycyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1taXN1c2UtZGlzb3JkZXJzJwp2YWx1ZXNldCAiU3Vic3RhbmNlIG1pc3VzZSBiZWhhdmlvcmFsIGNvdW5zZWxpbmciOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9zdWJzdGFuY2UtbWlzdXNlLWJlaGF2aW9yYWwtY291bnNlbGluZycKdmFsdWVzZXQgIkNvbmRpdGlvbnMgZG9jdW1lbnRpbmcgc3Vic3RhbmNlIG1pc3VzZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtZG9jdW1lbnRpbmctc3Vic3RhbmNlLW1pc3VzZScKLy8gSGFydmVzdGVkIGZyb20gVlNBQyAtIE9JRDogMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMQovLyBSZXZpZXdlZCB3aXRoIFRlcm1pbm9sb2d5LCAyMDIwLTAyLTA1IC0gVmFsdWUgc2V0IG5hbWUgaW4gVlNBQyBpcyAiT2ZmaWNlIFZpc2l0IiwgbmVlZCB0byB2ZXJpZnkgc3VpdGFiaWxpdHkKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29mZmljZS12aXNpdCcKdmFsdWVzZXQgIk9waW9pZCBjb3Vuc2VsaW5nIHByb2NlZHVyZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1jb3Vuc2VsaW5nLXByb2NlZHVyZScKLyogRXhpc3Rpbmcgc2V0cyBmb3IgZmlyc3Qgc2l4IHJlY3MgKi8KdmFsdWVzZXQgIkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvYmVuem9kaWF6ZXBpbmUtbWVkaWNhdGlvbnMnCnZhbHVlc2V0ICJOb24tb3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbm9uLW9waW9pZC1kcnVnLXVyaW5lLXNjcmVlbmluZycKdmFsdWVzZXQgIk5hbG94b25lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbmFsb3hvbmUtbWVkaWNhdGlvbnMnCnZhbHVlc2V0ICJPcGlvaWQgbWlzdXNlIGFzc2Vzc21lbnQgcHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLW1pc3VzZS1hc3Nlc3NtZW50LXByb2NlZHVyZScKdmFsdWVzZXQgIk9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1kcnVnLXVyaW5lLXNjcmVlbmluZycKdmFsdWVzZXQgIkhvc3BpY2UgRGlzcG9zaXRpb24iOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLWRpc3Bvc2l0aW9uJyAvLyBIYXJ2ZXN0ZWQgZnJvbSBWU0FDIC0gT0lEOiAyLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEwOC4xNQp2YWx1ZXNldCAiSG9zcGljZSBGaW5kaW5nIENvZGVzIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvaG9zcGljZS1maW5kaW5nJwp2YWx1ZXNldCAiSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLXByb2NlZHVyZScKdmFsdWVzZXQgIk9ic2VydmF0aW9uIENhdGVnb3J5IExhYm9yYXRvcnkiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vYnNlcnZhdGlvbi1jYXRlZ29yeS1sYWJvcmF0b3J5Jwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gQ2F0ZWdvcnkgUHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2JzZXJ2YXRpb24tY2F0ZWdvcnktcHJvY2VkdXJlJwp2YWx1ZXNldCAiUGFpbiB0cmVhdG1lbnQgcGxhbiI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BhaW4tdHJlYXRtZW50LXBsYW4nCnZhbHVlc2V0ICJQYWluIG1hbmFnZW1lbnQgcHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGFpbi1tYW5hZ2VtZW50LXByb2NlZHVyZScKdmFsdWVzZXQgIlBETVAgcmV2aWV3IHByb2NlZHVyZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BkbXAtcmV2aWV3LXByb2NlZHVyZScKdmFsdWVzZXQgIlBETVAgZGF0YSByZXZpZXdlZCBmaW5kaW5nIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGRtcC1kYXRhLXJldmlld2VkLWZpbmRpbmcnCnZhbHVlc2V0ICJDb2NhaW5lIFVyaW5lIFRlc3RzIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29jYWluZS11cmluZS1kcnVnLXNjcmVlbmluZy10ZXN0cycKdmFsdWVzZXQgIlBDUCBVcmluZSBUZXN0cyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BoZW5jeWNsaWRpbmUtdXJpbmUtZHJ1Zy1zY3JlZW5pbmctdGVzdHMnCgp2YWx1ZXNldCAiQ29tbXVuaXR5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnktY29tbXVuaXR5Jwp2YWx1ZXNldCAiQWN0aXZlIENvbmRpdGlvbiI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbi1jbGluaWNhbC1zdGF0dXMtYWN0aXZlJwp2YWx1ZXNldCAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3Qtc3RhdHVzLWFjdGl2ZScKLyogdmFsdWVzZXQgIlVTIENvcmUgQ29uZGl0aW9uIENhdGVnb3JpZXMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tY2F0ZWdvcmllcycgKi8KdmFsdWVzZXQgIkVuY291bnRlciBEaWFnbm9zaXMgQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLWVuY291bnRlci1kaWFnbm9zaXMtY2F0ZWdvcnknCnZhbHVlc2V0ICJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXByb2JsZW0tbGlzdC1jYXRlZ29yeScKdmFsdWVzZXQgIlVTIENvcmUgSGVhbHRoIENvbmNlcm4gQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXVzLWNvcmUtaGVhbHRoLWNvbmNlcm4tY2F0ZWdvcnknCgovLyBUT0RPOiBjb2RlICJOb25waGFybWFjb2xvZ2ljIHRoZXJhcHkgYW5kIG5vbm9waW9pZCBwaGFybW9jb2xvZ2ljIjogJ1RPRE8nIGZyb20gIlRPRE8iCgpjb250ZXh0IFBhdGllbnQKCi8vIFRPRE86IENhcHR1cmUgcHJvY2VzcyBkZWNpc2lvbnMgZm9yIGxvbmctdGVybSBvcGlvaWQgdXNlCgpkZWZpbmUgIk9waW9pZCBPdGhlciBUaGFuIFN5bnRoZXRpYyBPcmRlcmVkIEluIExhc3QgMTIgTW9udGhzIjoKICBbTWVkaWNhdGlvblJlcXVlc3Q6IHN0YXR1cyBpbiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0Il0gTVIKICAgICAgd2hlcmUgZGF0ZSBmcm9tIE1SLmF1dGhvcmVkT24gMSB5ZWFyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFRvZGF5KCkKICAgICAgYW5kIE1SLm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIG9yIChNUi5tZWRpY2F0aW9uIGluICJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIKICAgICAgYW5kIG5vdCAoTVIubWVkaWNhdGlvbiBpbiAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiKSkKCmRlZmluZSAiQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IjoKICAoCiAgICAoIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIihbTWVkaWNhdGlvblJlcXVlc3Q6IHN0YXR1cyBpbiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0Il0pKSBNUgogICAgICB3aGVyZSBkYXRlIGZyb20gTVIuYXV0aG9yZWRPbiAyIHllYXJzIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFRvZGF5KCkKICAgICAgICBhbmQgTVIubWVkaWNhdGlvbiBpcyBSZWZlcmVuY2Ugb3IgTVIubWVkaWNhdGlvbiBpbiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiCiAgICAgICAgYW5kIE1SLmNhdGVnb3J5IGluICJDb21tdW5pdHkiCiAgKSBSeAogICAgbGV0IE1lZDogW01lZGljYXRpb246IGlkIGluIChMYXN0KFNwbGl0KChSeC5tZWRpY2F0aW9uIGFzIEZISVIuUmVmZXJlbmNlKS5yZWZlcmVuY2UsICcvJykpKV0KICAgIHdoZXJlIG5vdChSeC5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSkgb3IgTWVkLmNvZGUgaW4gIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIgogICAgICByZXR1cm4KICAgICAgICBNZWRpY2F0aW9uUmVxdWVzdCB7CiAgICAgICAgICBpZDogUnguaWQsCiAgICAgICAgICBzdGF0dXM6IFJ4LnN0YXR1cywKICAgICAgICAgIGludGVudDogUnguaW50ZW50LAogICAgICAgICAgY2F0ZWdvcnk6IFJ4LmNhdGVnb3J5LAogICAgICAgICAgbWVkaWNhdGlvbjogaWYgUngubWVkaWNhdGlvbiBpcyBSZWZlcmVuY2UgdGhlbiBGaXJzdChNZWQuY29kZSkgZWxzZSBSeC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCwKICAgICAgICAgIHN1YmplY3Q6IFJ4LnN1YmplY3QsCiAgICAgICAgICByZWNvcmRlcjogUngucmVjb3JkZXIsCiAgICAgICAgICBkb3NhZ2VJbnN0cnVjdGlvbjogUnguZG9zYWdlSW5zdHJ1Y3Rpb24sCiAgICAgICAgICBkaXNwZW5zZVJlcXVlc3Q6IFJ4LmRpc3BlbnNlUmVxdWVzdAogICAgICAgIH0KCmRlZmluZSAiQWN0aXZlIEFtYnVsYXRvcnkgQmVuem9kaWF6ZXBpbmUgUngiOgogICgKICAgICgiR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE1lZGljYXRpb24gUmVxdWVzdHMiKFtNZWRpY2F0aW9uUmVxdWVzdDogc3RhdHVzIGluICJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiXSkpIE1SCiAgICAgIHdoZXJlIGRhdGUgZnJvbSBNUi5hdXRob3JlZE9uIDIgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgVG9kYXkoKQogICAgICAgIGFuZCBNUi5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSBvciBNUi5tZWRpY2F0aW9uIGluICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIKICAgICAgICBhbmQgTVIuY2F0ZWdvcnkgaW4gIkNvbW11bml0eSIKICApIFJ4CiAgICBsZXQgTWVkOiBbTWVkaWNhdGlvbjogaWQgaW4gKExhc3QoU3BsaXQoKFJ4Lm1lZGljYXRpb24gYXMgRkhJUi5SZWZlcmVuY2UpLnJlZmVyZW5jZSwgJy8nKSkpXQogICAgd2hlcmUgbm90KFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlKSBvciBNZWQuY29kZSBpbiAiQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiCiAgICAgIHJldHVybgogICAgICAgIE1lZGljYXRpb25SZXF1ZXN0IHsKICAgICAgICAgIGlkOiBSeC5pZCwKICAgICAgICAgIHN0YXR1czogUnguc3RhdHVzLAogICAgICAgICAgaW50ZW50OiBSeC5pbnRlbnQsCiAgICAgICAgICBjYXRlZ29yeTogUnguY2F0ZWdvcnksCiAgICAgICAgICBtZWRpY2F0aW9uOiBpZiBSeC5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSB0aGVuIEZpcnN0KE1lZC5jb2RlKSBlbHNlIFJ4Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0LAogICAgICAgICAgc3ViamVjdDogUnguc3ViamVjdCwKICAgICAgICAgIHJlY29yZGVyOiBSeC5yZWNvcmRlciwKICAgICAgICAgIGRvc2FnZUluc3RydWN0aW9uOiBSeC5kb3NhZ2VJbnN0cnVjdGlvbiwKICAgICAgICAgIGRpc3BlbnNlUmVxdWVzdDogUnguZGlzcGVuc2VSZXF1ZXN0CiAgICAgICAgfQoKZGVmaW5lICJBY3RpdmUgQW1idWxhdG9yeSBOYWxveG9uZSBSeCI6CiAgKAogICAgKCJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIoW01lZGljYXRpb25SZXF1ZXN0OiBzdGF0dXMgaW4gIkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCJdKSkgTVIKICAgICAgd2hlcmUgZGF0ZSBmcm9tIE1SLmF1dGhvcmVkT24gMiB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBUb2RheSgpCiAgICAgICAgYW5kIE1SLm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIG9yIE1SLm1lZGljYXRpb24gaW4gIk5hbG94b25lIG1lZGljYXRpb25zIgogICAgICAgIGFuZCBNUi5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgogICkgUngKICAgIGxldCBNZWQ6IFtNZWRpY2F0aW9uOiBpZCBpbiAoTGFzdChTcGxpdCgoUngubWVkaWNhdGlvbiBhcyBGSElSLlJlZmVyZW5jZSkucmVmZXJlbmNlLCAnLycpKSldCiAgICB3aGVyZSBub3QoUngubWVkaWNhdGlvbiBpcyBSZWZlcmVuY2UpIG9yIE1lZC5jb2RlIGluICJOYWxveG9uZSBtZWRpY2F0aW9ucyIKICAgICAgcmV0dXJuCiAgICAgICAgTWVkaWNhdGlvblJlcXVlc3QgewogICAgICAgICAgaWQ6IFJ4LmlkLAogICAgICAgICAgc3RhdHVzOiBSeC5zdGF0dXMsCiAgICAgICAgICBpbnRlbnQ6IFJ4LmludGVudCwKICAgICAgICAgIGNhdGVnb3J5OiBSeC5jYXRlZ29yeSwKICAgICAgICAgIG1lZGljYXRpb246IGlmIFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIHRoZW4gRmlyc3QoTWVkLmNvZGUpIGVsc2UgUngubWVkaWNhdGlvbiBhcyBDb2RlYWJsZUNvbmNlcHQsCiAgICAgICAgICBzdWJqZWN0OiBSeC5zdWJqZWN0LAogICAgICAgICAgcmVjb3JkZXI6IFJ4LnJlY29yZGVyLAogICAgICAgICAgZG9zYWdlSW5zdHJ1Y3Rpb246IFJ4LmRvc2FnZUluc3RydWN0aW9uLAogICAgICAgICAgZGlzcGVuc2VSZXF1ZXN0OiBSeC5kaXNwZW5zZVJlcXVlc3QKICAgICAgICB9CgpkZWZpbmUgZnVuY3Rpb24gIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiAodmFsdWUgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pIHJldHVybnMgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD46CiAgdmFsdWUgUngKICAgIHdoZXJlIFJ4LnN0YXR1cy52YWx1ZSA9ICdhY3RpdmUnCiAgICAgIGFuZCBSeC5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgoKZGVmaW5lIGZ1bmN0aW9uICJJcyBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsPyIodmFsdWUgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pOgogIHZhbHVlIFJ4CiAgICBsZXQgTWVkOiBbTWVkaWNhdGlvbjogaWQgaW4gKExhc3QoU3BsaXQoKFJ4Lm1lZGljYXRpb24gYXMgRkhJUi5SZWZlcmVuY2UpLnJlZmVyZW5jZSwgJy8nKSkpXQogICB3aGVyZSAoCiAgICAgICAgKAogICAgICAgICAgbm90KFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlKQogICAgICAgICAgICBhbmQgUngubWVkaWNhdGlvbiBpbiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiCiAgICAgICAgKQogICAgICAgIG9yIE1lZC5jb2RlIGluICJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIKICAgICAgKQogICAgICBhbmQgUnguY2F0ZWdvcnkgaW4gIkNvbW11bml0eSIKICAgIHJldHVybgogICAgICBNZWRpY2F0aW9uUmVxdWVzdCB7CiAgICAgICAgaWQ6IFJ4LmlkLAogICAgICAgIHN0YXR1czogUnguc3RhdHVzLAogICAgICAgIGludGVudDogUnguaW50ZW50LAogICAgICAgIGNhdGVnb3J5OiBSeC5jYXRlZ29yeSwKICAgICAgICBtZWRpY2F0aW9uOiBpZiBSeC5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSB0aGVuIEZpcnN0KE1lZC5jb2RlKSBlbHNlIFJ4Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0LAogICAgICAgIHN1YmplY3Q6IFJ4LnN1YmplY3QsCiAgICAgICAgYXV0aG9yZWRPbjogUnguYXV0aG9yZWRPbiwKICAgICAgICByZWNvcmRlcjogUngucmVjb3JkZXIsCiAgICAgICAgZG9zYWdlSW5zdHJ1Y3Rpb246IFJ4LmRvc2FnZUluc3RydWN0aW9uLAogICAgICAgIGRpc3BlbnNlUmVxdWVzdDogUnguZGlzcGVuc2VSZXF1ZXN0CiAgICAgIH0KCiAgICBkZWZpbmUgZnVuY3Rpb24gIklzIEJlbnpvZGlhemVwaW5lPyIodmFsdWUgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pOgogICAgICB2YWx1ZSBSeAogICAgICAgIGxldCBNZWQ6IFtNZWRpY2F0aW9uOiBpZCBpbiAoTGFzdChTcGxpdCgoUngubWVkaWNhdGlvbiBhcyBGSElSLlJlZmVyZW5jZSkucmVmZXJlbmNlLCAnLycpKSldCiAgICAgICAgd2hlcmUgKAogICAgICAgICAgICAoCiAgICAgICAgICAgICAgbm90KFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlKQogICAgICAgICAgICAgICAgYW5kIFJ4Lm1lZGljYXRpb24gaW4gIkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIgogICAgICAgICAgICApCiAgICAgICAgICAgIG9yIE1lZC5jb2RlIGluICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIKICAgICAgICAgICkKICAgICAgICAgIGFuZCBSeC5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgogICAgICAgIHJldHVybgogICAgICAgICAgICAgIE1lZGljYXRpb25SZXF1ZXN0IHsKICAgICAgICAgICAgICAgIGlkOiBSeC5pZCwKICAgICAgICAgICAgICAgIHN0YXR1czogUnguc3RhdHVzLAogICAgICAgICAgICAgICAgaW50ZW50OiBSeC5pbnRlbnQsCiAgICAgICAgICAgICAgICBjYXRlZ29yeTogUnguY2F0ZWdvcnksCiAgICAgICAgICAgICAgICBtZWRpY2F0aW9uOiBpZiBSeC5tZWRpY2F0aW9uIGlzIFJlZmVyZW5jZSB0aGVuIEZpcnN0KE1lZC5jb2RlKSBlbHNlIFJ4Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0LAogICAgICAgICAgICAgICAgc3ViamVjdDogUnguc3ViamVjdCwKICAgICAgICAgICAgICAgIGF1dGhvcmVkT246IFJ4LmF1dGhvcmVkT24sCiAgICAgICAgICAgICAgICByZWNvcmRlcjogUngucmVjb3JkZXIsCiAgICAgICAgICAgICAgICBkb3NhZ2VJbnN0cnVjdGlvbjogUnguZG9zYWdlSW5zdHJ1Y3Rpb24sCiAgICAgICAgICAgICAgICBkaXNwZW5zZVJlcXVlc3Q6IFJ4LmRpc3BlbnNlUmVxdWVzdAogICAgICAgICAgICAgIH0KCmRlZmluZSAiRW5kIG9mIExpZmUgQXNzZXNzbWVudCI6CiAgICAvLyAxLiBDb25kaXRpb25zIGluZGljYXRpbmcgZW5kIG9mIGxpZmUgb3Igd2l0aCBsaW1pdGVkIGxpZmUgZXhwZWN0YW5jeQogICAgZXhpc3RzICgKICAgICAgIkNvbmRpdGlvbnMgSW5kaWNhdGluZyBFbmQgb2YgTGlmZSBvciBXaXRoIExpbWl0ZWQgTGlmZSBFeHBlY3RhbmN5IgogICAgKQogICAgLy8gMi4gQWRtaXR0ZWQvcmVmZXJyZWQvZGlzY2hhcmdlZCB0byBob3NwaWNlIGNhcmUKICAgIG9yIGV4aXN0cyAoCiAgICAgICJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSIKICAgICkKICAgIC8vIDMuIE1lZGljYXRpb25zIGluZGljYXRpbmcgZW5kIG9mIGxpZmUKICAgIC8qIG9yIGV4aXN0cyAoCiAgICAgICJNZWRpY2F0aW9ucyBJbmRpY2F0aW5nIEVuZCBvZiBMaWZlIgogICAgKSAqLwoKZGVmaW5lICJVUyBDb3JlLUNhdGVnb3JpemVkIENvbmRpdGlvbnMiOgogIFtDb25kaXRpb246IGNhdGVnb3J5IGluICJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSJdCiAgICB1bmlvbiBbQ29uZGl0aW9uOiBjYXRlZ29yeSBpbiAiUHJvYmxlbSBMaXN0IENvbmRpdGlvbiBDYXRlZ29yeSJdCiAgICB1bmlvbiBbQ29uZGl0aW9uOiBjYXRlZ29yeSBpbiAiVVMgQ29yZSBIZWFsdGggQ29uY2VybiBDb25kaXRpb24gQ2F0ZWdvcnkiXQoKZGVmaW5lICJDb25kaXRpb25zIEluZGljYXRpbmcgRW5kIG9mIExpZmUgb3IgV2l0aCBMaW1pdGVkIExpZmUgRXhwZWN0YW5jeSI6CiAgKAogICAgIlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIgQwogICAgICB3aGVyZSBDLmNvZGUgaW4gIkNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmciCiAgICAgICAgYW5kIEMuY2xpbmljYWxTdGF0dXMgaW4gIkFjdGl2ZSBDb25kaXRpb24iCiAgKQogIHVuaW9uCiAgKAogICAgIlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIgQwogICAgICB3aGVyZSBDLmNvZGUgaW4gIkxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5IGNvbmRpdGlvbnMiCiAgICAgICAgYW5kIEMuY2xpbmljYWxTdGF0dXMgaW4gIkFjdGl2ZSBDb25kaXRpb24iCiAgKQoKZGVmaW5lICJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSI6CiAgKAogICAgW1Byb2NlZHVyZTogY29kZSBpbiAiSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiXSBQCiAgICAgIHdoZXJlIFAuc3RhdHVzLnZhbHVlIGluIHsgJ2luLXByb2dyZXNzJywgJ2NvbXBsZXRlZCcgfQogICkKICB1bmlvbgogICgKICAgICJTZXJ2aWNlIFJlcXVlc3RzIiBTUgogICAgICB3aGVyZSBTUi5jb2RlIGluICJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIKICAgICAgICBhbmQgU1Iuc3RhdHVzLnZhbHVlIGluIHsgJ2FjdGl2ZScsICdjb21wbGV0ZWQnIH0KICApCiAgdW5pb24KICAoCiAgICBpZiAoQ29uZmlnLiJIb3NwaWNlIEZpbmRpbmdzIEV4Y2x1c2lvbiBFbmFibGVkIikgdGhlbgogICAgICBbT2JzZXJ2YXRpb246IGNvZGUgaW4gIkhvc3BpY2UgRmluZGluZyBDb2RlcyJdIE8KICAgICAgICB3aGVyZSBub3QgKE8uc3RhdHVzLnZhbHVlIGluIHsgJ3Vua25vd24nLCAnZW50ZXJlZC1pbi1lcnJvcicsICdjYW5jZWxsZWQnIH0pCiAgICBlbHNlCiAgICAgIHt9CiAgKQogIHVuaW9uCiAgKAogICAgW0VuY291bnRlcl0gRQogICAgICB3aGVyZSBkYXRlIGZyb20gRS5wZXJpb2Quc3RhcnQgMSB5ZWFyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFRvZGF5KCkKICAgICAgICBhbmQgKAogICAgICAgICAgaWYgRS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24uY29kaW5nIGlzIG51bGwKICAgICAgICAgICAgICBvciBub3QgZXhpc3RzIChFLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbi5jb2RpbmcpCiAgICAgICAgICAgIHRoZW4gZmFsc2UKICAgICAgICAgIGVsc2UgRS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkhvc3BpY2UgRGlzcG9zaXRpb24iCiAgICAgICAgKQogICAgICAgIGFuZCBFLnN0YXR1cy52YWx1ZSBpbiB7ICdwbGFubmVkJywgJ2Fycml2ZWQnLCAnaW4tcHJvZ3Jlc3MnLCAnZmluaXNoZWQnLCAnb25sZWF2ZScgfQogICkKCi8qCgpkZWZpbmUgIk1lZGljYXRpb25zIEluZGljYXRpbmcgRW5kIG9mIExpZmUiOgogICgKICAgIFtNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb246ICJFbmQgT2YgTGlmZSBPcGlvaWRzIl0gTUEKICAgICAgd2hlcmUgTUEuc3RhdHVzLnZhbHVlIGluIHsgJ2luLXByb2dyZXNzJywgJ29uLWhvbGQnLCAnY29tcGxldGVkJyB9CiAgKQogIHVuaW9uCiAgKAogICAgW01lZGljYXRpb25EaXNwZW5zZTogIkVuZCBPZiBMaWZlIE9waW9pZHMiXSBNRAogICAgICB3aGVyZSBNRC5zdGF0dXMudmFsdWUgaW4geyAncHJlcGFyYXRpb24nLCAnaW4tcHJvZ3Jlc3MnLCAnb24taG9sZCcsICdjb21wbGV0ZWQnIH0KICApCiAgdW5pb24KICAoCiAgICBbTWVkaWNhdGlvblJlcXVlc3Q6ICJFbmQgT2YgTGlmZSBPcGlvaWRzIl0gTVIKICAgICAgd2hlcmUgTVIuc3RhdHVzLnZhbHVlIGluIHsgJ2FjdGl2ZScsICdjb21wbGV0ZWQnIH0KICApCiAgdW5pb24KICAoCiAgICBbTWVkaWNhdGlvblN0YXRlbWVudDogIkVuZCBPZiBMaWZlIE9waW9pZHMiXSBNUwogICAgICB3aGVyZSBNUy5zdGF0dXMudmFsdWUgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcsICdpbnRlbmRlZCcgfQogICkKCiovCgpkZWZpbmUgIlByZXZpb3VzIDEwIERheXMgSW50ZXJ2YWwiOgpJbnRlcnZhbFtUb2RheSgpIC0gMTAgZGF5cywgVG9kYXkoKV0KCmRlZmluZSAiRmlyc3QgTW9udGgiOgpJbnRlcnZhbFtUb2RheSgpIC0gMyBtb250aHMsIFRvZGF5KCkgLSAyIG1vbnRoc10KCmRlZmluZSAiU2Vjb25kIE1vbnRoIjoKSW50ZXJ2YWxbVG9kYXkoKSAtIDIgbW9udGhzLCBUb2RheSgpIC0gMSBtb250aHNdCgpkZWZpbmUgIlRoaXJkIE1vbnRoIjoKSW50ZXJ2YWxbVG9kYXkoKSAtIDEgbW9udGhzLCBUb2RheSgpXQoKZGVmaW5lICJQcmVzY3JpYmVkIE9waW9pZHMgZm9yIDIxIG9yIG1vcmUgb2YgMzAgRGF5cyBmb3IgZWFjaCBvZiB0aGUgcGFzdCAzIE1vbnRocyI6CiAgIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIigiRmlyc3QgTW9udGgiKSA+PSAyMQogICAgYW5kICJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIoIlNlY29uZCBNb250aCIpID49IDIxCiAgICBhbmQgIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIigiVGhpcmQgTW9udGgiKSA+PSAyMQoKZGVmaW5lIGZ1bmN0aW9uICJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIihwcmVzY3JpcHRpb24gRkhJUi5NZWRpY2F0aW9uUmVxdWVzdCk6CiAgaWYgKAogICAgcHJlc2NyaXB0aW9uLmF1dGhvcmVkT24gaXMgbm90IG51bGwgYW5kIHByZXNjcmlwdGlvbi5kaXNwZW5zZVJlcXVlc3QgaXMgbm90IG51bGwKICAgICAgYW5kIHByZXNjcmlwdGlvbi5kaXNwZW5zZVJlcXVlc3QuZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiBpcyBub3QgbnVsbAogICkKICB0aGVuIEludGVydmFsWwogICAgZGF0ZSBmcm9tIHByZXNjcmlwdGlvbi5hdXRob3JlZE9uLAogICAgZGF0ZSBmcm9tIHByZXNjcmlwdGlvbi5hdXRob3JlZE9uICsgU3lzdGVtLlF1YW50aXR5eyB2YWx1ZTogR2V0RHVyYXRpb25JbkRheXMocHJlc2NyaXB0aW9uLmRpc3BlbnNlUmVxdWVzdC5leHBlY3RlZFN1cHBseUR1cmF0aW9uKSwgdW5pdDogJ2RheXMnIH0KICBdCiAgZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIihwZXJpb2QgSW50ZXJ2YWw8RGF0ZT4pOgogIFN1bSgKICAgICgKICAgICAgY29sbGFwc2UgKAogICAgICAgIFtNZWRpY2F0aW9uUmVxdWVzdDogIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIl0gT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgcmV0dXJuICJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIiggT3Bpb2lkUHJlc2NyaXB0aW9uICkgaW50ZXJzZWN0IHBlcmlvZAogICAgICApCiAgICApIE9waW9pZFVzZUludGVydmFsCiAgICAgIHJldHVybiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgT3Bpb2lkVXNlSW50ZXJ2YWwgYW5kIGVuZCBvZiBPcGlvaWRVc2VJbnRlcnZhbAogICkKCgoKZGVmaW5lIGZ1bmN0aW9uIEdldER1cmF0aW9uSW5EYXlzKHZhbHVlIEZISVIuRHVyYXRpb24pOgogIGlmIHZhbHVlIGlzIG51bGwgdGhlbiBudWxsCiAgZWxzZQogICAgY2FzZQogICAgICB3aGVuIHZhbHVlLmNvZGUudmFsdWUgfiAnYScgdGhlbiB2YWx1ZS52YWx1ZS52YWx1ZSAqIDM2NS4wCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSB+ICdtbycgdGhlbiB2YWx1ZS52YWx1ZS52YWx1ZSAqIDMwLjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ3drJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlICogNy4wCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSB+ICdkJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSB+ICdoJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlIC8gMjQuMAogICAgICB3aGVuIHZhbHVlLmNvZGUudmFsdWUgfiAnbWluJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlIC8gNjAuMCAvIDI0LjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ3MnIHRoZW4gdmFsdWUudmFsdWUudmFsdWUgLyA2MC4wIC8gNjAuMCAvIDI0LjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ21zJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlIC8gNjAuMCAvIDYwLjAgLyAyNC4wIC8gMTAwMC4wCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSBpcyBudWxsIHRoZW4gTWVzc2FnZSgxMDAwLCB0cnVlLCAnVW5kZWZpbmVkJywgJ0Vycm9yJywgJ0R1cmF0aW9uIHVuaXQgY29kZSBpcyBudWxsJykKICAgICAgZWxzZSBNZXNzYWdlKDEwMDAsIHRydWUsICdVbmRlZmluZWQnLCAnRXJyb3InLCAnVW5zdXBwb3J0ZWQgZHVyYXRpb24gdW5pdCBjb2RlOiAnICsgdmFsdWUuY29kZS52YWx1ZSkKZW5kCgovKgoqICBDb252ZXJzaW9uIEZ1bmN0aW9ucwoqLwpkZWZpbmUgZnVuY3Rpb24gQ29kZWFibGVDb25jZXB0c1RvU3RyaW5nKGNvbmNlcHRzIExpc3Q8RkhJUi5Db2RlYWJsZUNvbmNlcHQ+KToKICBjb25jZXB0cyBjIHJldHVybiBDb2RlYWJsZUNvbmNlcHRUb1N0cmluZyhjKQoKCmRlZmluZSBmdW5jdGlvbiBDb2RpbmdUb1N0cmluZyhjb2RpbmcgRkhJUi5Db2RpbmcpOgogIGlmIChjb2RpbmcgaXMgbnVsbCkKICB0aGVuIG51bGwKICBlbHNlCiAgICAnQ29kZSB7JyAmCiAgICAgICdjb2RlOiAnICYgY29kaW5nLmNvZGUgJgogICAgICAnc3lzdGVtOiAnICYgY29kaW5nLnN5c3RlbSAmCiAgICAgICd2ZXJzaW9uOiAnICYgY29kaW5nLnZlcnNpb24gJgogICAgICAnZGlzcGxheTogJyAmIGNvZGluZy5kaXNwbGF5ICYKICAgICd9JwoKZGVmaW5lIGZ1bmN0aW9uIENvZGVhYmxlQ29uY2VwdFRvU3RyaW5nKGNvbmNlcHQgRkhJUi5Db2RlYWJsZUNvbmNlcHQpOgogIGlmIChjb25jZXB0IGlzIG51bGwgb3IgY29uY2VwdC5jb2RpbmcgaXMgbnVsbCkKICB0aGVuIG51bGwKICBlbHNlCiAgICAnQ29kZWFibGVDb25jZXB0IHsnICYKICAgICAgJ0NvZGluZzogWycgJgogICAgICAgIENvbWJpbmUoY29uY2VwdC5jb2RpbmcgQ29kaW5nIHJldHVybiBDb2RpbmdUb1N0cmluZyhDb2RpbmcpLCAnLCcpCiAgICAgICYgJ10nCiAgICAmICd9JwoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29kZXMoY29kaW5nIExpc3Q8RkhJUi5Db2Rpbmc+KToKICBjb2RpbmcgYyByZXR1cm4gRkhJUkhlbHBlcnMuVG9Db2RlKGMpCgpkZWZpbmUgZnVuY3Rpb24gVG9SeE5vcm1Db2RlKGNvZGluZyBMaXN0PEZISVIuQ29kaW5nPik6CiAgc2luZ2xldG9uIGZyb20gKAogICAgY29kaW5nIEMgd2hlcmUgQy5zeXN0ZW0gPSAnaHR0cDovL3d3dy5ubG0ubmloLmdvdi9yZXNlYXJjaC91bWxzL3J4bm9ybScKICApCgogZGVmaW5lICJTZXJ2aWNlIFJlcXVlc3RzIjoKICAgW1NlcnZpY2VSZXF1ZXN0XSBTUgogICAgcmV0dXJuIFNSCg==" + "data": "bGlicmFyeSBPcGlvaWRDRFNDb21tb24gdmVyc2lvbiAnMC4xLjEnCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgT01US0xvZ2ljTUsyMDIwIHZlcnNpb24gJzAuMS4xJyBjYWxsZWQgT01US0xvZ2ljCmluY2x1ZGUgT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIHZlcnNpb24gJzAuMS4xJyBjYWxsZWQgQ29uZmlnCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJTTk9NRUQiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdCcKCi8vIEV4cHJlc3Npb24tYmFzZWQKdmFsdWVzZXQgIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLWFuYWxnZXNpY3Mtd2l0aC1hbWJ1bGF0b3J5LW1pc3VzZS1wb3RlbnRpYWwnCnZhbHVlc2V0ICJFeHRlbmRlZCByZWxlYXNlIG9waW9pZCB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2V4dGVuZGVkLXJlbGVhc2Utb3Bpb2lkLXdpdGgtYW1idWxhdG9yeS1taXN1c2UtcG90ZW50aWFsJwp2YWx1ZXNldCAiQnVwcmVub3JwaGluZSBhbmQgbWV0aGFkb25lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvYnVwcmVub3JwaGluZS1hbmQtbWV0aGFkb25lLW1lZGljYXRpb25zJwp2YWx1ZXNldCAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ub24tc3ludGhldGljLW9waW9pZC1tZWRpY2F0aW9ucycKCi8vIEVudW1lcmF0ZWQtY29tcG9zZQp2YWx1ZXNldCAiTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2xpbWl0ZWQtbGlmZS1leHBlY3RhbmN5LWNvbmRpdGlvbnMnCnZhbHVlc2V0ICJUaGVyYXBpZXMgaW5kaWNhdGluZyBlbmQgb2YgbGlmZSBjYXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvdGhlcmFwaWVzLWluZGljYXRpbmctZW5kLW9mLWxpZmUtY2FyZScKdmFsdWVzZXQgIkNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmciOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb25zLWxpa2VseS10ZXJtaW5hbC1mb3Itb3Bpb2lkLXByZXNjcmliaW5nJwp2YWx1ZXNldCAiQ0RDIG1hbGlnbmFudCBjYW5jZXIgY29uZGl0aW9ucyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NkYy1tYWxpZ25hbnQtY2FuY2VyLWNvbmRpdGlvbnMnCnZhbHVlc2V0ICJPbmNvbG9neSBzcGVjaWFsdHkgZGVzaWduYXRpb25zIChOVUNDKSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29uY29sb2d5LXNwZWNpYWx0eS1kZXNpZ25hdGlvbnMnCnZhbHVlc2V0ICJPcGlvaWQgbWlzdXNlIGRpc29yZGVycyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1taXN1c2UtZGlzb3JkZXJzJwp2YWx1ZXNldCAiU3Vic3RhbmNlIG1pc3VzZSBiZWhhdmlvcmFsIGNvdW5zZWxpbmciOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9zdWJzdGFuY2UtbWlzdXNlLWJlaGF2aW9yYWwtY291bnNlbGluZycKdmFsdWVzZXQgIkNvbmRpdGlvbnMgZG9jdW1lbnRpbmcgc3Vic3RhbmNlIG1pc3VzZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtZG9jdW1lbnRpbmctc3Vic3RhbmNlLW1pc3VzZScKLy8gSGFydmVzdGVkIGZyb20gVlNBQyAtIE9JRDogMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMQovLyBSZXZpZXdlZCB3aXRoIFRlcm1pbm9sb2d5LCAyMDIwLTAyLTA1IC0gVmFsdWUgc2V0IG5hbWUgaW4gVlNBQyBpcyAiT2ZmaWNlIFZpc2l0IiwgbmVlZCB0byB2ZXJpZnkgc3VpdGFiaWxpdHkKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29mZmljZS12aXNpdCcKdmFsdWVzZXQgIk9waW9pZCBjb3Vuc2VsaW5nIHByb2NlZHVyZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1jb3Vuc2VsaW5nLXByb2NlZHVyZScKLyogRXhpc3Rpbmcgc2V0cyBmb3IgZmlyc3Qgc2l4IHJlY3MgKi8KdmFsdWVzZXQgIkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvYmVuem9kaWF6ZXBpbmUtbWVkaWNhdGlvbnMnCnZhbHVlc2V0ICJOb24tb3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbm9uLW9waW9pZC1kcnVnLXVyaW5lLXNjcmVlbmluZycKdmFsdWVzZXQgIk5hbG94b25lIG1lZGljYXRpb25zIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbmFsb3hvbmUtbWVkaWNhdGlvbnMnCnZhbHVlc2V0ICJPcGlvaWQgbWlzdXNlIGFzc2Vzc21lbnQgcHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLW1pc3VzZS1hc3Nlc3NtZW50LXByb2NlZHVyZScKdmFsdWVzZXQgIk9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1kcnVnLXVyaW5lLXNjcmVlbmluZycKdmFsdWVzZXQgIkhvc3BpY2UgRGlzcG9zaXRpb24iOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLWRpc3Bvc2l0aW9uJyAvLyBIYXJ2ZXN0ZWQgZnJvbSBWU0FDIC0gT0lEOiAyLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEwOC4xNQp2YWx1ZXNldCAiSG9zcGljZSBGaW5kaW5nIENvZGVzIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvaG9zcGljZS1maW5kaW5nJwp2YWx1ZXNldCAiSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLXByb2NlZHVyZScKdmFsdWVzZXQgIk9ic2VydmF0aW9uIENhdGVnb3J5IExhYm9yYXRvcnkiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vYnNlcnZhdGlvbi1jYXRlZ29yeS1sYWJvcmF0b3J5Jwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gQ2F0ZWdvcnkgUHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2JzZXJ2YXRpb24tY2F0ZWdvcnktcHJvY2VkdXJlJwp2YWx1ZXNldCAiUGFpbiB0cmVhdG1lbnQgcGxhbiI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BhaW4tdHJlYXRtZW50LXBsYW4nCnZhbHVlc2V0ICJQYWluIG1hbmFnZW1lbnQgcHJvY2VkdXJlIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGFpbi1tYW5hZ2VtZW50LXByb2NlZHVyZScKdmFsdWVzZXQgIlBETVAgcmV2aWV3IHByb2NlZHVyZSI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BkbXAtcmV2aWV3LXByb2NlZHVyZScKdmFsdWVzZXQgIlBETVAgZGF0YSByZXZpZXdlZCBmaW5kaW5nIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGRtcC1kYXRhLXJldmlld2VkLWZpbmRpbmcnCnZhbHVlc2V0ICJDb2NhaW5lIFVyaW5lIFRlc3RzIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29jYWluZS11cmluZS1kcnVnLXNjcmVlbmluZy10ZXN0cycKdmFsdWVzZXQgIlBDUCBVcmluZSBUZXN0cyI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BoZW5jeWNsaWRpbmUtdXJpbmUtZHJ1Zy1zY3JlZW5pbmctdGVzdHMnCgp2YWx1ZXNldCAiQ29tbXVuaXR5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnktY29tbXVuaXR5Jwp2YWx1ZXNldCAiQWN0aXZlIENvbmRpdGlvbiI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbi1jbGluaWNhbC1zdGF0dXMtYWN0aXZlJwp2YWx1ZXNldCAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3Qtc3RhdHVzLWFjdGl2ZScKLyogdmFsdWVzZXQgIlVTIENvcmUgQ29uZGl0aW9uIENhdGVnb3JpZXMiOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tY2F0ZWdvcmllcycgKi8KdmFsdWVzZXQgIkVuY291bnRlciBEaWFnbm9zaXMgQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLWVuY291bnRlci1kaWFnbm9zaXMtY2F0ZWdvcnknCnZhbHVlc2V0ICJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXByb2JsZW0tbGlzdC1jYXRlZ29yeScKdmFsdWVzZXQgIlVTIENvcmUgSGVhbHRoIENvbmNlcm4gQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXVzLWNvcmUtaGVhbHRoLWNvbmNlcm4tY2F0ZWdvcnknCgovLyBUT0RPOiBjb2RlICJOb25waGFybWFjb2xvZ2ljIHRoZXJhcHkgYW5kIG5vbm9waW9pZCBwaGFybW9jb2xvZ2ljIjogJ1RPRE8nIGZyb20gIlRPRE8iCgpjb250ZXh0IFBhdGllbnQKCi8vIFRPRE86IENhcHR1cmUgcHJvY2VzcyBkZWNpc2lvbnMgZm9yIGxvbmctdGVybSBvcGlvaWQgdXNlCgpkZWZpbmUgIk9waW9pZCBPdGhlciBUaGFuIFN5bnRoZXRpYyBPcmRlcmVkIEluIExhc3QgMTIgTW9udGhzIjoKICBbTWVkaWNhdGlvblJlcXVlc3Q6IHN0YXR1cyBpbiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0Il0gTVIKICAgICAgd2hlcmUgZGF0ZSBmcm9tIE1SLmF1dGhvcmVkT24gMSB5ZWFyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFRvZGF5KCkKICAgICAgYW5kIE1SLm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIG9yIChNUi5tZWRpY2F0aW9uIGluICJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIKICAgICAgYW5kIG5vdCAoTVIubWVkaWNhdGlvbiBpbiAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiKSkKCmRlZmluZSAiQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IjoKICAoCiAgICAiR2V0IE1lZGljYXRpb25SZXF1ZXN0IE1lZGljYXRpb24gYXMgQ29kZSIoIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIihbTWVkaWNhdGlvblJlcXVlc3RdKSkKICApIFJ4CiAgICB3aGVyZSBkYXRlIGZyb20gUnguYXV0aG9yZWRPbiAyIHllYXJzIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFRvZGF5KCkKICAgICAgYW5kIFJ4Lm1lZGljYXRpb24gaW4gIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIgoKZGVmaW5lICJBY3RpdmUgQW1idWxhdG9yeSBCZW56b2RpYXplcGluZSBSeCI6CiAgKAogICAgIkdldCBNZWRpY2F0aW9uUmVxdWVzdCBNZWRpY2F0aW9uIGFzIENvZGUiKCJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIoW01lZGljYXRpb25SZXF1ZXN0XSkpCiAgKSBSeAogICAgd2hlcmUgZGF0ZSBmcm9tIFJ4LmF1dGhvcmVkT24gMiB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBUb2RheSgpCiAgICAgIGFuZCBSeC5tZWRpY2F0aW9uIGluICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIKCmRlZmluZSAiQWN0aXZlIEFtYnVsYXRvcnkgTmFsb3hvbmUgUngiOgogICgKICAgICJHZXQgTWVkaWNhdGlvblJlcXVlc3QgTWVkaWNhdGlvbiBhcyBDb2RlIigiR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE1lZGljYXRpb24gUmVxdWVzdHMiKFtNZWRpY2F0aW9uUmVxdWVzdF0pKQogICkgUngKICAgIHdoZXJlIGRhdGUgZnJvbSBSeC5hdXRob3JlZE9uIDIgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgVG9kYXkoKQogICAgICBhbmQgUngubWVkaWNhdGlvbiBpbiAiTmFsb3hvbmUgbWVkaWNhdGlvbnMiCgpkZWZpbmUgZnVuY3Rpb24gIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiAodmFsdWUgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pIHJldHVybnMgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD46CiAgdmFsdWUgUngKICAgIHdoZXJlIFJ4LnN0YXR1cy52YWx1ZSA9ICdhY3RpdmUnCiAgICAgIGFuZCBSeC5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgoKZGVmaW5lIGZ1bmN0aW9uICJJcyBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsPyIodmFsdWUgTGlzdDxNZWRpY2F0aW9uUmVxdWVzdD4pOgogICgiR2V0IE1lZGljYXRpb25SZXF1ZXN0IE1lZGljYXRpb24gYXMgQ29kZSIodmFsdWUpKSBSeAogICAgd2hlcmUgUngubWVkaWNhdGlvbiBpbiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiIAogICAgICBhbmQgUnguY2F0ZWdvcnkgaW4gIkNvbW11bml0eSIKCmRlZmluZSBmdW5jdGlvbiAiSXMgQmVuem9kaWF6ZXBpbmU/Iih2YWx1ZSBMaXN0PE1lZGljYXRpb25SZXF1ZXN0Pik6CiAgKCJHZXQgTWVkaWNhdGlvblJlcXVlc3QgTWVkaWNhdGlvbiBhcyBDb2RlIih2YWx1ZSkpIFJ4CiAgICB3aGVyZSBSeC5tZWRpY2F0aW9uIGluICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIgCiAgICAgIGFuZCBSeC5jYXRlZ29yeSBpbiAiQ29tbXVuaXR5IgoKZGVmaW5lIGZ1bmN0aW9uICJHZXQgTWVkaWNhdGlvblJlcXVlc3QgTWVkaWNhdGlvbiBhcyBDb2RlIih2YWx1ZSBMaXN0PE1lZGljYXRpb25SZXF1ZXN0Pik6CiAgdmFsdWUgUngKICAgIGxldCBNZWQ6IFtNZWRpY2F0aW9uOiBpZCBpbiAoTGFzdChTcGxpdCgoUngubWVkaWNhdGlvbiBhcyBGSElSLlJlZmVyZW5jZSkucmVmZXJlbmNlLCAnLycpKSldCiAgICByZXR1cm4gCiAgICAgIE1lZGljYXRpb25SZXF1ZXN0IHsKICAgICAgICBpZDogUnguaWQsCiAgICAgICAgc3RhdHVzOiBSeC5zdGF0dXMsCiAgICAgICAgaW50ZW50OiBSeC5pbnRlbnQsCiAgICAgICAgY2F0ZWdvcnk6IFJ4LmNhdGVnb3J5LAogICAgICAgIG1lZGljYXRpb246IGlmIFJ4Lm1lZGljYXRpb24gaXMgUmVmZXJlbmNlIHRoZW4gRmlyc3QoTWVkLmNvZGUpIGVsc2UgUngubWVkaWNhdGlvbiBhcyBDb2RlYWJsZUNvbmNlcHQsCiAgICAgICAgc3ViamVjdDogUnguc3ViamVjdCwKICAgICAgICBhdXRob3JlZE9uOiBSeC5hdXRob3JlZE9uLAogICAgICAgIHJlY29yZGVyOiBSeC5yZWNvcmRlciwKICAgICAgICBkb3NhZ2VJbnN0cnVjdGlvbjogUnguZG9zYWdlSW5zdHJ1Y3Rpb24sCiAgICAgICAgZGlzcGVuc2VSZXF1ZXN0OiBSeC5kaXNwZW5zZVJlcXVlc3QKICAgICAgfQoKZGVmaW5lICJFbmQgb2YgTGlmZSBBc3Nlc3NtZW50IjoKICAgIC8vIDEuIENvbmRpdGlvbnMgaW5kaWNhdGluZyBlbmQgb2YgbGlmZSBvciB3aXRoIGxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5CiAgICBleGlzdHMgKAogICAgICAiQ29uZGl0aW9ucyBJbmRpY2F0aW5nIEVuZCBvZiBMaWZlIG9yIFdpdGggTGltaXRlZCBMaWZlIEV4cGVjdGFuY3kiCiAgICApCiAgICAvLyAyLiBBZG1pdHRlZC9yZWZlcnJlZC9kaXNjaGFyZ2VkIHRvIGhvc3BpY2UgY2FyZQogICAgb3IgZXhpc3RzICgKICAgICAgIkFkbWl0dGVkL1JlZmVycmVkL0Rpc2NoYXJnZWQgdG8gSG9zcGljZSBDYXJlIgogICAgKQogICAgLy8gMy4gTWVkaWNhdGlvbnMgaW5kaWNhdGluZyBlbmQgb2YgbGlmZQogICAgLyogb3IgZXhpc3RzICgKICAgICAgIk1lZGljYXRpb25zIEluZGljYXRpbmcgRW5kIG9mIExpZmUiCiAgICApICovCgpkZWZpbmUgIlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyI6CiAgW0NvbmRpdGlvbjogY2F0ZWdvcnkgaW4gIkVuY291bnRlciBEaWFnbm9zaXMgQ29uZGl0aW9uIENhdGVnb3J5Il0KICAgIHVuaW9uIFtDb25kaXRpb246IGNhdGVnb3J5IGluICJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5Il0KICAgIHVuaW9uIFtDb25kaXRpb246IGNhdGVnb3J5IGluICJVUyBDb3JlIEhlYWx0aCBDb25jZXJuIENvbmRpdGlvbiBDYXRlZ29yeSJdCgpkZWZpbmUgIkNvbmRpdGlvbnMgSW5kaWNhdGluZyBFbmQgb2YgTGlmZSBvciBXaXRoIExpbWl0ZWQgTGlmZSBFeHBlY3RhbmN5IjoKICAoCiAgICAiVVMgQ29yZS1DYXRlZ29yaXplZCBDb25kaXRpb25zIiBDCiAgICAgIHdoZXJlIEMuY29kZSBpbiAiQ29uZGl0aW9ucyBsaWtlbHkgdGVybWluYWwgZm9yIG9waW9pZCBwcmVzY3JpYmluZyIKICAgICAgICBhbmQgQy5jbGluaWNhbFN0YXR1cyBpbiAiQWN0aXZlIENvbmRpdGlvbiIKICApCiAgdW5pb24KICAoCiAgICAiVVMgQ29yZS1DYXRlZ29yaXplZCBDb25kaXRpb25zIiBDCiAgICAgIHdoZXJlIEMuY29kZSBpbiAiTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyIKICAgICAgICBhbmQgQy5jbGluaWNhbFN0YXR1cyBpbiAiQWN0aXZlIENvbmRpdGlvbiIKICApCgpkZWZpbmUgIkFkbWl0dGVkL1JlZmVycmVkL0Rpc2NoYXJnZWQgdG8gSG9zcGljZSBDYXJlIjoKICAoCiAgICBbUHJvY2VkdXJlOiBjb2RlIGluICJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyJdIFAKICAgICAgd2hlcmUgUC5zdGF0dXMudmFsdWUgaW4geyAnaW4tcHJvZ3Jlc3MnLCAnY29tcGxldGVkJyB9CiAgKQogIHVuaW9uCiAgKAogICAgIlNlcnZpY2UgUmVxdWVzdHMiIFNSCiAgICAgIHdoZXJlIFNSLmNvZGUgaW4gIkhvc3BpY2UgUHJvY2VkdXJlIENvZGVzIgogICAgICAgIGFuZCBTUi5zdGF0dXMudmFsdWUgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICkKICB1bmlvbgogICgKICAgIGlmIChDb25maWcuIkhvc3BpY2UgRmluZGluZ3MgRXhjbHVzaW9uIEVuYWJsZWQiKSB0aGVuCiAgICAgIFtPYnNlcnZhdGlvbjogY29kZSBpbiAiSG9zcGljZSBGaW5kaW5nIENvZGVzIl0gTwogICAgICAgIHdoZXJlIG5vdCAoTy5zdGF0dXMudmFsdWUgaW4geyAndW5rbm93bicsICdlbnRlcmVkLWluLWVycm9yJywgJ2NhbmNlbGxlZCcgfSkKICAgIGVsc2UKICAgICAge30KICApCiAgdW5pb24KICAoCiAgICBbRW5jb3VudGVyXSBFCiAgICAgIHdoZXJlIGRhdGUgZnJvbSBFLnBlcmlvZC5zdGFydCAxIHllYXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgVG9kYXkoKQogICAgICAgIGFuZCAoCiAgICAgICAgICBpZiBFLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbi5jb2RpbmcgaXMgbnVsbAogICAgICAgICAgICAgIG9yIG5vdCBleGlzdHMgKEUuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uLmNvZGluZykKICAgICAgICAgICAgdGhlbiBmYWxzZQogICAgICAgICAgZWxzZSBFLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiSG9zcGljZSBEaXNwb3NpdGlvbiIKICAgICAgICApCiAgICAgICAgYW5kIEUuc3RhdHVzLnZhbHVlIGluIHsgJ3BsYW5uZWQnLCAnYXJyaXZlZCcsICdpbi1wcm9ncmVzcycsICdmaW5pc2hlZCcsICdvbmxlYXZlJyB9CiAgKQoKLyoKCmRlZmluZSAiTWVkaWNhdGlvbnMgSW5kaWNhdGluZyBFbmQgb2YgTGlmZSI6CiAgKAogICAgW01lZGljYXRpb25BZG1pbmlzdHJhdGlvbjogIkVuZCBPZiBMaWZlIE9waW9pZHMiXSBNQQogICAgICB3aGVyZSBNQS5zdGF0dXMudmFsdWUgaW4geyAnaW4tcHJvZ3Jlc3MnLCAnb24taG9sZCcsICdjb21wbGV0ZWQnIH0KICApCiAgdW5pb24KICAoCiAgICBbTWVkaWNhdGlvbkRpc3BlbnNlOiAiRW5kIE9mIExpZmUgT3Bpb2lkcyJdIE1ECiAgICAgIHdoZXJlIE1ELnN0YXR1cy52YWx1ZSBpbiB7ICdwcmVwYXJhdGlvbicsICdpbi1wcm9ncmVzcycsICdvbi1ob2xkJywgJ2NvbXBsZXRlZCcgfQogICkKICB1bmlvbgogICgKICAgIFtNZWRpY2F0aW9uUmVxdWVzdDogIkVuZCBPZiBMaWZlIE9waW9pZHMiXSBNUgogICAgICB3aGVyZSBNUi5zdGF0dXMudmFsdWUgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICkKICB1bmlvbgogICgKICAgIFtNZWRpY2F0aW9uU3RhdGVtZW50OiAiRW5kIE9mIExpZmUgT3Bpb2lkcyJdIE1TCiAgICAgIHdoZXJlIE1TLnN0YXR1cy52YWx1ZSBpbiB7ICdhY3RpdmUnLCAnY29tcGxldGVkJywgJ2ludGVuZGVkJyB9CiAgKQoKKi8KCmRlZmluZSAiUHJldmlvdXMgMTAgRGF5cyBJbnRlcnZhbCI6CkludGVydmFsW1RvZGF5KCkgLSAxMCBkYXlzLCBUb2RheSgpXQoKZGVmaW5lICJGaXJzdCBNb250aCI6CkludGVydmFsW1RvZGF5KCkgLSAzIG1vbnRocywgVG9kYXkoKSAtIDIgbW9udGhzXQoKZGVmaW5lICJTZWNvbmQgTW9udGgiOgpJbnRlcnZhbFtUb2RheSgpIC0gMiBtb250aHMsIFRvZGF5KCkgLSAxIG1vbnRoc10KCmRlZmluZSAiVGhpcmQgTW9udGgiOgpJbnRlcnZhbFtUb2RheSgpIC0gMSBtb250aHMsIFRvZGF5KCldCgpkZWZpbmUgIlByZXNjcmliZWQgT3Bpb2lkcyBmb3IgMjEgb3IgbW9yZSBvZiAzMCBEYXlzIGZvciBlYWNoIG9mIHRoZSBwYXN0IDMgTW9udGhzIjoKICAiRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiKCJGaXJzdCBNb250aCIpID49IDIxCiAgICBhbmQgIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIigiU2Vjb25kIE1vbnRoIikgPj0gMjEKICAgIGFuZCAiRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiKCJUaGlyZCBNb250aCIpID49IDIxCgpkZWZpbmUgZnVuY3Rpb24gIlByZXNjcmlwdGlvbiBSZWxldmFudCBQZXJpb2QiKHByZXNjcmlwdGlvbiBGSElSLk1lZGljYXRpb25SZXF1ZXN0KToKICBpZiAoCiAgICBwcmVzY3JpcHRpb24uYXV0aG9yZWRPbiBpcyBub3QgbnVsbCBhbmQgcHJlc2NyaXB0aW9uLmRpc3BlbnNlUmVxdWVzdCBpcyBub3QgbnVsbAogICAgICBhbmQgcHJlc2NyaXB0aW9uLmRpc3BlbnNlUmVxdWVzdC5leHBlY3RlZFN1cHBseUR1cmF0aW9uIGlzIG5vdCBudWxsCiAgKQogIHRoZW4gSW50ZXJ2YWxbCiAgICBkYXRlIGZyb20gcHJlc2NyaXB0aW9uLmF1dGhvcmVkT24sCiAgICBkYXRlIGZyb20gcHJlc2NyaXB0aW9uLmF1dGhvcmVkT24gKyBTeXN0ZW0uUXVhbnRpdHl7IHZhbHVlOiBHZXREdXJhdGlvbkluRGF5cyhwcmVzY3JpcHRpb24uZGlzcGVuc2VSZXF1ZXN0LmV4cGVjdGVkU3VwcGx5RHVyYXRpb24pLCB1bml0OiAnZGF5cycgfQogIF0KICBlbHNlIG51bGwKCmRlZmluZSBmdW5jdGlvbiAiRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiKHBlcmlvZCBJbnRlcnZhbDxEYXRlPik6CiAgU3VtKAogICAgKAogICAgICBjb2xsYXBzZSAoCiAgICAgICAgW01lZGljYXRpb25SZXF1ZXN0OiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiXSBPcGlvaWRQcmVzY3JpcHRpb24KICAgICAgICByZXR1cm4gIlByZXNjcmlwdGlvbiBSZWxldmFudCBQZXJpb2QiKCBPcGlvaWRQcmVzY3JpcHRpb24gKSBpbnRlcnNlY3QgcGVyaW9kCiAgICAgICkKICAgICkgT3Bpb2lkVXNlSW50ZXJ2YWwKICAgICAgcmV0dXJuIGRheXMgYmV0d2VlbiBzdGFydCBvZiBPcGlvaWRVc2VJbnRlcnZhbCBhbmQgZW5kIG9mIE9waW9pZFVzZUludGVydmFsCiAgKQoKCgpkZWZpbmUgZnVuY3Rpb24gR2V0RHVyYXRpb25JbkRheXModmFsdWUgRkhJUi5EdXJhdGlvbik6CiAgaWYgdmFsdWUgaXMgbnVsbCB0aGVuIG51bGwKICBlbHNlCiAgICBjYXNlCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSB+ICdhJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlICogMzY1LjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ21vJyB0aGVuIHZhbHVlLnZhbHVlLnZhbHVlICogMzAuMAogICAgICB3aGVuIHZhbHVlLmNvZGUudmFsdWUgfiAnd2snIHRoZW4gdmFsdWUudmFsdWUudmFsdWUgKiA3LjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ2QnIHRoZW4gdmFsdWUudmFsdWUudmFsdWUKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIH4gJ2gnIHRoZW4gdmFsdWUudmFsdWUudmFsdWUgLyAyNC4wCiAgICAgIHdoZW4gdmFsdWUuY29kZS52YWx1ZSB+ICdtaW4nIHRoZW4gdmFsdWUudmFsdWUudmFsdWUgLyA2MC4wIC8gMjQuMAogICAgICB3aGVuIHZhbHVlLmNvZGUudmFsdWUgfiAncycgdGhlbiB2YWx1ZS52YWx1ZS52YWx1ZSAvIDYwLjAgLyA2MC4wIC8gMjQuMAogICAgICB3aGVuIHZhbHVlLmNvZGUudmFsdWUgfiAnbXMnIHRoZW4gdmFsdWUudmFsdWUudmFsdWUgLyA2MC4wIC8gNjAuMCAvIDI0LjAgLyAxMDAwLjAKICAgICAgd2hlbiB2YWx1ZS5jb2RlLnZhbHVlIGlzIG51bGwgdGhlbiBNZXNzYWdlKDEwMDAsIHRydWUsICdVbmRlZmluZWQnLCAnRXJyb3InLCAnRHVyYXRpb24gdW5pdCBjb2RlIGlzIG51bGwnKQogICAgICBlbHNlIE1lc3NhZ2UoMTAwMCwgdHJ1ZSwgJ1VuZGVmaW5lZCcsICdFcnJvcicsICdVbnN1cHBvcnRlZCBkdXJhdGlvbiB1bml0IGNvZGU6ICcgKyB2YWx1ZS5jb2RlLnZhbHVlKQplbmQKCi8qCiogIENvbnZlcnNpb24gRnVuY3Rpb25zCiovCmRlZmluZSBmdW5jdGlvbiBDb2RlYWJsZUNvbmNlcHRzVG9TdHJpbmcoY29uY2VwdHMgTGlzdDxGSElSLkNvZGVhYmxlQ29uY2VwdD4pOgogIGNvbmNlcHRzIGMgcmV0dXJuIENvZGVhYmxlQ29uY2VwdFRvU3RyaW5nKGMpCgoKZGVmaW5lIGZ1bmN0aW9uIENvZGluZ1RvU3RyaW5nKGNvZGluZyBGSElSLkNvZGluZyk6CiAgaWYgKGNvZGluZyBpcyBudWxsKQogIHRoZW4gbnVsbAogIGVsc2UKICAgICdDb2RlIHsnICYKICAgICAgJ2NvZGU6ICcgJiBjb2RpbmcuY29kZSAmCiAgICAgICdzeXN0ZW06ICcgJiBjb2Rpbmcuc3lzdGVtICYKICAgICAgJ3ZlcnNpb246ICcgJiBjb2RpbmcudmVyc2lvbiAmCiAgICAgICdkaXNwbGF5OiAnICYgY29kaW5nLmRpc3BsYXkgJgogICAgJ30nCgpkZWZpbmUgZnVuY3Rpb24gQ29kZWFibGVDb25jZXB0VG9TdHJpbmcoY29uY2VwdCBGSElSLkNvZGVhYmxlQ29uY2VwdCk6CiAgaWYgKGNvbmNlcHQgaXMgbnVsbCBvciBjb25jZXB0LmNvZGluZyBpcyBudWxsKQogIHRoZW4gbnVsbAogIGVsc2UKICAgICdDb2RlYWJsZUNvbmNlcHQgeycgJgogICAgICAnQ29kaW5nOiBbJyAmCiAgICAgICAgQ29tYmluZShjb25jZXB0LmNvZGluZyBDb2RpbmcgcmV0dXJuIENvZGluZ1RvU3RyaW5nKENvZGluZyksICcsJykKICAgICAgJiAnXScKICAgICYgJ30nCgpkZWZpbmUgZnVuY3Rpb24gVG9Db2Rlcyhjb2RpbmcgTGlzdDxGSElSLkNvZGluZz4pOgogIGNvZGluZyBjIHJldHVybiBGSElSSGVscGVycy5Ub0NvZGUoYykKCmRlZmluZSBmdW5jdGlvbiBUb1J4Tm9ybUNvZGUoY29kaW5nIExpc3Q8RkhJUi5Db2Rpbmc+KToKICBzaW5nbGV0b24gZnJvbSAoCiAgICBjb2RpbmcgQyB3aGVyZSBDLnN5c3RlbSA9ICdodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtJwogICkKCiBkZWZpbmUgIlNlcnZpY2UgUmVxdWVzdHMiOgogICBbU2VydmljZVJlcXVlc3RdIFNSCiAgICByZXR1cm4gU1IK" }, { "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjQiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSI3NiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iNzYiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9Ijk4IiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSI5OCIgZW5kQ2hhcj0iOTYiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIGxpYnJhcnlTeXN0ZW09Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiIGxpYnJhcnlJZD0iT3Bpb2lkQ0RTQ29tbW9uIiBsaWJyYXJ5VmVyc2lvbj0iMC4xLjEiIHN0YXJ0TGluZT0iMTIwIiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSIxMjAiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9IjE0MiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iMTQyIiBlbmRDaGFyPSI5NiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSIxNjciIHN0YXJ0Q2hhcj0iMTgiIGVuZExpbmU9IjE2NyIgZW5kQ2hhcj0iMTAwIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8aWRlbnRpZmllciBpZD0iT3Bpb2lkQ0RTQ29tbW9uIiBzeXN0ZW09Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiIHZlcnNpb249IjAuMS4xIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzoxLTM6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSIvPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2F0b3I9IjU6MS01OjU0IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjY6MS02OjU2IiBsb2NhbElkZW50aWZpZXI9Ik9NVEtMb2dpYyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PTVRLTG9naWNNSzIwMjAiIHZlcnNpb249IjAuMS4xIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzoxLTc6NTkiIGxvY2FsSWRlbnRpZmllcj0iQ29uZmlnIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU0NvbW1vbkNvbmZpZyIgdmVyc2lvbj0iMC4xLjEiLz4KICAgPC9pbmNsdWRlcz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2F0b3I9Ijk6MS05OjM4IiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxMDoxLTEwOjQ1IiBuYW1lPSJTTk9NRUQiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgIDwvY29kZVN5c3RlbXM+CiAgIDx2YWx1ZVNldHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTM6MS0xMzoxNjIiIG5hbWU9Ik9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtYW5hbGdlc2ljcy13aXRoLWFtYnVsYXRvcnktbWlzdXNlLXBvdGVudGlhbCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjE0OjEtMTQ6MTc0IiBuYW1lPSJFeHRlbmRlZCByZWxlYXNlIG9waW9pZCB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvZXh0ZW5kZWQtcmVsZWFzZS1vcGlvaWQtd2l0aC1hbWJ1bGF0b3J5LW1pc3VzZS1wb3RlbnRpYWwiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxNToxLTE1OjE0MCIgbmFtZT0iQnVwcmVub3JwaGluZSBhbmQgbWV0aGFkb25lIG1lZGljYXRpb25zIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9idXByZW5vcnBoaW5lLWFuZC1tZXRoYWRvbmUtbWVkaWNhdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxNjoxLTE2OjEyNiIgbmFtZT0iTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L25vbi1zeW50aGV0aWMtb3Bpb2lkLW1lZGljYXRpb25zIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTk6MS0xOToxMzAiIG5hbWU9IkxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5IGNvbmRpdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2xpbWl0ZWQtbGlmZS1leHBlY3RhbmN5LWNvbmRpdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIyMDoxLTIwOjEzNiIgbmFtZT0iVGhlcmFwaWVzIGluZGljYXRpbmcgZW5kIG9mIGxpZmUgY2FyZSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvdGhlcmFwaWVzLWluZGljYXRpbmctZW5kLW9mLWxpZmUtY2FyZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjIxOjEtMjE6MTYwIiBuYW1lPSJDb25kaXRpb25zIGxpa2VseSB0ZXJtaW5hbCBmb3Igb3Bpb2lkIHByZXNjcmliaW5nIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb25zLWxpa2VseS10ZXJtaW5hbC1mb3Itb3Bpb2lkLXByZXNjcmliaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjI6MS0yMjoxMjQiIG5hbWU9IkNEQyBtYWxpZ25hbnQgY2FuY2VyIGNvbmRpdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NkYy1tYWxpZ25hbnQtY2FuY2VyLWNvbmRpdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIyMzoxLTIzOjEzMSIgbmFtZT0iT25jb2xvZ3kgc3BlY2lhbHR5IGRlc2lnbmF0aW9ucyAoTlVDQykiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29uY29sb2d5LXNwZWNpYWx0eS1kZXNpZ25hdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIyNDoxLTI0OjEwOCIgbmFtZT0iT3Bpb2lkIG1pc3VzZSBkaXNvcmRlcnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1taXN1c2UtZGlzb3JkZXJzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjU6MS0yNToxMzgiIG5hbWU9IlN1YnN0YW5jZSBtaXN1c2UgYmVoYXZpb3JhbCBjb3Vuc2VsaW5nIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9zdWJzdGFuY2UtbWlzdXNlLWJlaGF2aW9yYWwtY291bnNlbGluZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjI2OjEtMjY6MTQwIiBuYW1lPSJDb25kaXRpb25zIGRvY3VtZW50aW5nIHN1YnN0YW5jZSBtaXN1c2UiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtZG9jdW1lbnRpbmctc3Vic3RhbmNlLW1pc3VzZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjI5OjEtMjk6ODYiIG5hbWU9Ik9mZmljZSBWaXNpdCIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2ZmaWNlLXZpc2l0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzA6MS0zMDoxMTYiIG5hbWU9Ik9waW9pZCBjb3Vuc2VsaW5nIHByb2NlZHVyZSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLWNvdW5zZWxpbmctcHJvY2VkdXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzI6MS0zMjoxMTQiIG5hbWU9IkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9iZW56b2RpYXplcGluZS1tZWRpY2F0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjMzOjEtMzM6MTI0IiBuYW1lPSJOb24tb3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ub24tb3Bpb2lkLWRydWctdXJpbmUtc2NyZWVuaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzQ6MS0zNDoxMDIiIG5hbWU9Ik5hbG94b25lIG1lZGljYXRpb25zIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9uYWxveG9uZS1tZWRpY2F0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjM1OjEtMzU6MTMwIiBuYW1lPSJPcGlvaWQgbWlzdXNlIGFzc2Vzc21lbnQgcHJvY2VkdXJlIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtbWlzdXNlLWFzc2Vzc21lbnQtcHJvY2VkdXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzY6MS0zNjoxMTYiIG5hbWU9Ik9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLWRydWctdXJpbmUtc2NyZWVuaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzc6MS0zNzoxMDAiIG5hbWU9Ikhvc3BpY2UgRGlzcG9zaXRpb24iIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2hvc3BpY2UtZGlzcG9zaXRpb24iIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIzODoxLTM4Ojk4IiBuYW1lPSJIb3NwaWNlIEZpbmRpbmcgQ29kZXMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2hvc3BpY2UtZmluZGluZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjM5OjEtMzk6MTAyIiBuYW1lPSJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvaG9zcGljZS1wcm9jZWR1cmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0MDoxLTQwOjEyNCIgbmFtZT0iT2JzZXJ2YXRpb24gQ2F0ZWdvcnkgTGFib3JhdG9yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2JzZXJ2YXRpb24tY2F0ZWdvcnktbGFib3JhdG9yeSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjQxOjEtNDE6MTIyIiBuYW1lPSJPYnNlcnZhdGlvbiBDYXRlZ29yeSBQcm9jZWR1cmUiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29ic2VydmF0aW9uLWNhdGVnb3J5LXByb2NlZHVyZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjQyOjEtNDI6MTAwIiBuYW1lPSJQYWluIHRyZWF0bWVudCBwbGFuIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wYWluLXRyZWF0bWVudC1wbGFuIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDM6MS00MzoxMTIiIG5hbWU9IlBhaW4gbWFuYWdlbWVudCBwcm9jZWR1cmUiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BhaW4tbWFuYWdlbWVudC1wcm9jZWR1cmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0NDoxLTQ0OjEwNCIgbmFtZT0iUERNUCByZXZpZXcgcHJvY2VkdXJlIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wZG1wLXJldmlldy1wcm9jZWR1cmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0NToxLTQ1OjExNCIgbmFtZT0iUERNUCBkYXRhIHJldmlld2VkIGZpbmRpbmciIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BkbXAtZGF0YS1yZXZpZXdlZC1maW5kaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDY6MS00NjoxMTUiIG5hbWU9IkNvY2FpbmUgVXJpbmUgVGVzdHMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvY2FpbmUtdXJpbmUtZHJ1Zy1zY3JlZW5pbmctdGVzdHMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0NzoxLTQ3OjExNyIgbmFtZT0iUENQIFVyaW5lIFRlc3RzIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9waGVuY3ljbGlkaW5lLXVyaW5lLWRydWctc2NyZWVuaW5nLXRlc3RzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDk6MS00OToxMDciIG5hbWU9IkNvbW11bml0eSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnktY29tbXVuaXR5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTA6MS01MDoxMTAiIG5hbWU9IkFjdGl2ZSBDb25kaXRpb24iIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbi1jbGluaWNhbC1zdGF0dXMtYWN0aXZlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTE6MS01MToxMTciIG5hbWU9IkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3Qtc3RhdHVzLWFjdGl2ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjUzOjEtNTM6MTM4IiBuYW1lPSJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLWVuY291bnRlci1kaWFnbm9zaXMtY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI1NDoxLTU0OjEyNCIgbmFtZT0iUHJvYmxlbSBMaXN0IENvbmRpdGlvbiBDYXRlZ29yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXByb2JsZW0tbGlzdC1jYXRlZ29yeSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjU1OjEtNTU6MTQ0IiBuYW1lPSJVUyBDb3JlIEhlYWx0aCBDb25jZXJuIENvbmRpdGlvbiBDYXRlZ29yeSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXVzLWNvcmUtaGVhbHRoLWNvbmNlcm4tY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgPC92YWx1ZVNldHM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhdG9yPSI1OToxLTU5OjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjU5OjEtNTk6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjU5OjEtNTk6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2MzoxLTY3OjY4IiBuYW1lPSJPcGlvaWQgT3RoZXIgVGhhbiBTeW50aGV0aWMgT3JkZXJlZCBJbiBMYXN0IDEyIE1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjY0OjMtNjc6NjgiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNjQ6My02NDo2MiIgYWxpYXM9Ik1SIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNjQ6My02NDo1OSIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJzdGF0dXMiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjY0OjMzLTY0OjU4IiBuYW1lPSJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiIHByZXNlcnZlPSJ0cnVlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjY1OjctNjc6NjgiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjEzLTY2OjM2IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MTMtNjU6NzEiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTozNy02NTo1MCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MTMtNjU6MzUiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MjMtNjU6MzUiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTozNy02NTo1MCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjY1OjY1LTY1OjcxIiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTo2NS02NTo3MSIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjM3LTY1OjQyIiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhdG9yPSI2NTo2NS02NTo3MSIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTozNy02NTo1MCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjM3LTY1OjUwIiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6NjUtNjU6NzEiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NjoxMS02NjozNiIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjY6MTEtNjY6MjMiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iNjY6MjgtNjY6MzYiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2Njo0MS02Nzo2OCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY2OjQyLTY2OjExMCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjY6NDItNjY6NTQiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iNjY6NTktNjY6MTEwIiBuYW1lPSJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NzoxMS02Nzo2NyIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY3OjE1LTY3OjY3IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NzoxNi02NzoyOCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI2NzozMy02Nzo2NiIgbmFtZT0iTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTM1OjEtMTM4OjM2IiBuYW1lPSJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTM2OjMtMTM4OjM2IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEzNjozLTEzNjoxMCIgYWxpYXM9IlJ4Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTM2OjMtMTM2OjciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjEzNzo1LTEzODozNiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzNzoxMS0xMzc6MzYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzNzoxMS0xMzc6MjUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEzNzoxMS0xMzc6MTkiIHBhdGg9InN0YXR1cyIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMzc6MjktMTM3OjM2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzODoxMS0xMzg6MzYiIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMzg6MTEtMTM4OjIxIiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTM4OjI2LTEzODozNiIgbmFtZT0iQ29tbXVuaXR5IiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTM1OjY4LTEzNTo5MCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2F0b3I9IjEzNTo3My0xMzU6ODkiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2OToxLTg5OjkiIG5hbWU9IkFjdGl2ZSBBbWJ1bGF0b3J5IE9waW9pZCBSeCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjcwOjMtODk6OSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI3MDozLTc1OjYiIGFsaWFzPSJSeCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjcwOjMtNzU6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI3MTo1LTcxOjExMSIgYWxpYXM9Ik1SIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzE6NS03MToxMDgiIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MTo1MC03MToxMDYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ic3RhdHVzIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI3MTo4MC03MToxMDUiIG5hbWU9IkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI3Mjo3LTc0OjM4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MjoxMy03MzozOCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjEzLTcyOjcyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6MzctNzI6NTEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjEzLTcyOjM1IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjIzLTcyOjM1IiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6MzctNzI6NTEiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSI3Mjo2Ni03Mjo3MiIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6NjYtNzI6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MjozNy03Mjo0MyIgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjcyOjY2LTcyOjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjcyOjM3LTcyOjUxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzI6MzctNzI6NTEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Mjo2Ni03Mjo3MiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjczOjEzLTczOjM4IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MzoxMy03MzoyNSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI3MzozMC03MzozOCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjczOjQzLTc0OjM4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzM6NDMtNzM6MTExIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Mzo0My03Mzo1NSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI3Mzo2MC03MzoxMTEiIG5hbWU9Ik9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc0OjEzLTc0OjM4IiB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzQ6MTMtNzQ6MjMiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI3NDoyOC03NDozOCIgbmFtZT0iQ29tbXVuaXR5IiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSI3Njo5LTc2Ojk2IiBpZGVudGlmaWVyPSJNZWQiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3NjoxNC03Njo5NiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3NjozMy03Njo5NSIgeHNpOnR5cGU9Ikxhc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijc2OjM5LTc2OjkzIiB4c2k6dHlwZT0iU3BsaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5nVG9TcGxpdCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Njo0NS03Njo4NyIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijc2OjQ1LTc2Ojc3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Njo0Ni03Njo1OCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI3Njo2My03Njo3NiIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJpbmdUb1NwbGl0PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9Ijc2OjkwLTc2OjkyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9Ijc3OjUtNzc6MTA5IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3NzoxMS03Nzo0MSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc3OjE0LTc3OjQxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3NzoxNS03NzoyNyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI3NzozMi03Nzo0MCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc3OjQ2LTc3OjEwOSIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijc3OjQ2LTc3OjUzIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijc3OjQ2LTc3OjQ4IiBuYW1lPSJNZWQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9Ijc3OjU4LTc3OjEwOSIgbmFtZT0iT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSI3ODo3LTg5OjkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3OTo5LTg5OjkiIGNsYXNzVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODA6MTUtODA6MTkiIHBhdGg9ImlkIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MToxOS04MToyNyIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MjoxOS04MjoyNyIgcGF0aD0iaW50ZW50IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgzOjIxLTgzOjMxIiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg0OjIzLTg0OjExMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSI4NDoyNi04NDo1MSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODQ6MjYtODQ6MzgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iODQ6NDMtODQ6NTEiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSI4NDo1OC04NDo3MiIgeHNpOnR5cGU9IkZpcnN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI4NDo2NC04NDo3MSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI4NDo2NC04NDo2NiIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iODQ6NzktODQ6MTEwIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4NDo3OS04NDo5MSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI4NDo5Ni04NDoxMTAiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODU6MjAtODU6MjkiIHBhdGg9InN1YmplY3QiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODY6MjEtODY6MzEiIHBhdGg9InJlY29yZGVyIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZUluc3RydWN0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijg3OjMwLTg3OjQ5IiBwYXRoPSJkb3NhZ2VJbnN0cnVjdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODg6MjgtODg6NDUiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjkxOjEtMTExOjkiIG5hbWU9IkFjdGl2ZSBBbWJ1bGF0b3J5IEJlbnpvZGlhemVwaW5lIFJ4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTI6My0xMTE6OSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5MjozLTk3OjYiIGFsaWFzPSJSeCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjkyOjMtOTc6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5Mzo1LTkzOjExMSIgYWxpYXM9Ik1SIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTM6NS05MzoxMDgiIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5Mzo1MC05MzoxMDYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ic3RhdHVzIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI5Mzo4MC05MzoxMDUiIG5hbWU9IkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI5NDo3LTk2OjM4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NDoxMy05NTozOCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjEzLTk0OjcyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6MzctOTQ6NTEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjEzLTk0OjM1IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjIzLTk0OjM1IiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6MzctOTQ6NTEiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSI5NDo2Ni05NDo3MiIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6NjYtOTQ6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NDozNy05NDo0MyIgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9Ijk0OjY2LTk0OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk0OjM3LTk0OjUxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTQ6MzctOTQ6NTEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NDo2Ni05NDo3MiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk1OjEzLTk1OjM4IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NToxMy05NToyNSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI5NTozMC05NTozOCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk1OjQzLTk2OjM4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTU6NDMtOTU6ODciIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk1OjQzLTk1OjU1IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9Ijk1OjYwLTk1Ojg3IiBuYW1lPSJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NjoxMy05NjozOCIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijk2OjEzLTk2OjIzIiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iOTY6MjgtOTY6MzgiIG5hbWU9IkNvbW11bml0eSIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iOTg6OS05ODo5NiIgaWRlbnRpZmllcj0iTWVkIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTg6MTQtOTg6OTYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTg6MzMtOTg6OTUiIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5ODozOS05ODo5MyIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTg6NDUtOTg6ODciIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5ODo0NS05ODo3NyIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTg6NDYtOTg6NTgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iOTg6NjMtOTg6NzYiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3RyaW5nVG9TcGxpdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlcGFyYXRvciBsb2NhdG9yPSI5ODo5MC05ODo5MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI5OTo1LTk5Ojg1IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5OToxMS05OTo0MSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk5OjE0LTk5OjQxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5OToxNS05OToyNyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI5OTozMi05OTo0MCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk5OjQ2LTk5Ojg1IiB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTk6NDYtOTk6NTMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTk6NDYtOTk6NDgiIG5hbWU9Ik1lZCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iOTk6NTgtOTk6ODUiIG5hbWU9IkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMTAwOjctMTExOjkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMDE6OS0xMTE6OSIgY2xhc3NUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDI6MTUtMTAyOjE5IiBwYXRoPSJpZCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTAzOjE5LTEwMzoyNyIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDQ6MTktMTA0OjI3IiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTA1OjIxLTEwNTozMSIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDY6MjMtMTA2OjExMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIxMDY6MjYtMTA2OjUxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDY6MjYtMTA2OjM4IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjEwNjo0My0xMDY6NTEiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIxMDY6NTgtMTA2OjcyIiB4c2k6dHlwZT0iRmlyc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwNjo2NC0xMDY6NzEiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTA2OjY0LTEwNjo2NiIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMTA2Ojc5LTEwNjoxMTAiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwNjo3OS0xMDY6OTEiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTA2Ojk2LTEwNjoxMTAiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTA3OjIwLTEwNzoyOSIgcGF0aD0ic3ViamVjdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDg6MjEtMTA4OjMxIiBwYXRoPSJyZWNvcmRlciIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMDk6MzAtMTA5OjQ5IiBwYXRoPSJkb3NhZ2VJbnN0cnVjdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTEwOjI4LTExMDo0NSIgcGF0aD0iZGlzcGVuc2VSZXF1ZXN0IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTEzOjEtMTMzOjkiIG5hbWU9IkFjdGl2ZSBBbWJ1bGF0b3J5IE5hbG94b25lIFJ4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTE0OjMtMTMzOjkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTE0OjMtMTE5OjYiIGFsaWFzPSJSeCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjExNDozLTExOTozIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjExNTo1LTExNToxMTEiIGFsaWFzPSJNUiI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjExNTo1LTExNToxMDgiIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTU6NTAtMTE1OjEwNiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJzdGF0dXMiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjExNTo4MC0xMTU6MTA1IiBuYW1lPSJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiIHByZXNlcnZlPSJ0cnVlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTE2OjctMTE4OjM4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTY6MTMtMTE3OjM4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjEzLTExNjo3MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjozNy0xMTY6NTEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjoxMy0xMTY6MzUiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjIzLTExNjozNSIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjozNy0xMTY6NTEiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSIxMTY6NjYtMTE2OjcyIiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTY6NjYtMTE2OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjM3LTExNjo0MyIgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjExNjo2Ni0xMTY6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE2OjM3LTExNjo1MSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNjozNy0xMTY6NTEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMTY6NjYtMTE2OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE3OjEzLTExNzozOCIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE3OjEzLTExNzoyNSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMTc6MzAtMTE3OjM4IiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE3OjQzLTExODozOCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNzo0My0xMTc6ODEiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNzo0My0xMTc6NTUiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJNUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTE3OjYwLTExNzo4MSIgbmFtZT0iTmFsb3hvbmUgbWVkaWNhdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE4OjEzLTExODozOCIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjExODoxMy0xMTg6MjMiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxMTg6MjgtMTE4OjM4IiBuYW1lPSJDb21tdW5pdHkiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9IjEyMDo5LTEyMDo5NiIgaWRlbnRpZmllcj0iTWVkIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTIwOjE0LTEyMDo5NiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjA6MzMtMTIwOjk1IiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTIwOjM5LTEyMDo5MyIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIwOjQ1LTEyMDo4NyIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEyMDo0NS0xMjA6NzciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEyMDo0Ni0xMjA6NTgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTIwOjYzLTEyMDo3NiIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJpbmdUb1NwbGl0PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9IjEyMDo5MC0xMjA6OTIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTIxOjUtMTIxOjc5IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjE6MTEtMTIxOjQxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIxOjE0LTEyMTo0MSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIxOjE1LTEyMToyNyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMjE6MzItMTIxOjQwIiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTIxOjQ2LTEyMTo3OSIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEyMTo0Ni0xMjE6NTMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTIxOjQ2LTEyMTo0OCIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxMjE6NTgtMTIxOjc5IiBuYW1lPSJOYWxveG9uZSBtZWRpY2F0aW9ucyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjEyMjo3LTEzMzo5Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTIzOjktMTMzOjkiIGNsYXNzVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTI0OjE1LTEyNDoxOSIgcGF0aD0iaWQiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyNToxOS0xMjU6MjciIHBhdGg9InN0YXR1cyIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTI2OjE5LTEyNjoyNyIgcGF0aD0iaW50ZW50IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyNzoyMS0xMjc6MzEiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGljYXRpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTI4OjIzLTEyODoxMTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMTI4OjI2LTEyODo1MSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTI4OjI2LTEyODozOCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMjg6NDMtMTI4OjUxIiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMTI4OjU4LTEyODo3MiIgeHNpOnR5cGU9IkZpcnN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMjg6NjQtMTI4OjcxIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEyODo2NC0xMjg6NjYiIG5hbWU9Ik1lZCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIGxvY2F0b3I9IjEyODo3OS0xMjg6MTEwIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjg6NzktMTI4OjkxIiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjEyODo5Ni0xMjg6MTEwIiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEyOToyMC0xMjk6MjkiIHBhdGg9InN1YmplY3QiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTMwOjIxLTEzMDozMSIgcGF0aD0icmVjb3JkZXIiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTMxOjMwLTEzMTo0OSIgcGF0aD0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGVuc2VSZXF1ZXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjEzMjoyOC0xMzI6NDUiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjE0MDoxLTE2Mzo3IiBuYW1lPSJJcyBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsPyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQxOjMtMTYzOjciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTQxOjMtMTQxOjEwIiBhbGlhcz0iUngiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNDE6My0xNDE6NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8bGV0IGxvY2F0b3I9IjE0Mjo5LTE0Mjo5NiIgaWRlbnRpZmllcj0iTWVkIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQyOjE0LTE0Mjo5NiIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDI6MzMtMTQyOjk1IiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTQyOjM5LTE0Mjo5MyIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQyOjQ1LTE0Mjo4NyIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE0Mjo0NS0xNDI6NzciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE0Mjo0Ni0xNDI6NTgiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTQyOjYzLTE0Mjo3NiIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJpbmdUb1NwbGl0PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9IjE0Mjo5MC0xNDI6OTIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTQzOjQtMTUwOjM2IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQzOjEwLTE0OTo3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDQ6OS0xNDc6OSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE0NToxMS0xNDU6NDEiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDU6MTQtMTQ1OjQxIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDU6MTUtMTQ1OjI3IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE0NTozMi0xNDU6NDAiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDY6MTctMTQ2Ojg1IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDY6MTctMTQ2OjI5IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjE0NjozNC0xNDY6ODUiIG5hbWU9Ik9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQ4OjEyLTE0ODo3NSIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE0ODoxMi0xNDg6MTkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQ4OjEyLTE0ODoxNCIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxNDg6MjQtMTQ4Ojc1IiBuYW1lPSJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE1MDoxMS0xNTA6MzYiIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNTA6MTEtMTUwOjIxIiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTUwOjI2LTE1MDozNiIgbmFtZT0iQ29tbXVuaXR5IiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMTUxOjUtMTYzOjciPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNTI6Ny0xNjM6NyIgY2xhc3NUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNTM6MTMtMTUzOjE3IiBwYXRoPSJpZCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTU0OjE3LTE1NDoyNSIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNTU6MTctMTU1OjI1IiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTU2OjE5LTE1NjoyOSIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTc6MjEtMTU3OjEwOCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIxNTc6MjQtMTU3OjQ5IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTc6MjQtMTU3OjM2IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE1Nzo0MS0xNTc6NDkiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIxNTc6NTYtMTU3OjcwIiB4c2k6dHlwZT0iRmlyc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE1Nzo2Mi0xNTc6NjkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTU3OjYyLTE1Nzo2NCIgbmFtZT0iTWVkIiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMTU3Ojc3LTE1NzoxMDgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE1Nzo3Ny0xNTc6ODkiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTU3Ojk0LTE1NzoxMDgiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTU4OjE4LTE1ODoyNyIgcGF0aD0ic3ViamVjdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE1OToyMS0xNTk6MzMiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTYwOjE5LTE2MDoyOSIgcGF0aD0icmVjb3JkZXIiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTYxOjI4LTE2MTo0NyIgcGF0aD0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGVuc2VSZXF1ZXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE2MjoyNi0xNjI6NDMiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE0MDo3OS0xNDA6MTAxIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYXRvcj0iMTQwOjg0LTE0MDoxMDAiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIxNjU6NS0xODg6MTUiIG5hbWU9IklzIEJlbnpvZGlhemVwaW5lPyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTY2OjctMTg4OjE1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE2Njo3LTE2NjoxNCIgYWxpYXM9IlJ4Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTY2OjctMTY2OjExIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxsZXQgbG9jYXRvcj0iMTY3OjEzLTE2NzoxMDAiIGlkZW50aWZpZXI9Ik1lZCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE2NzoxOC0xNjc6MTAwIiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvbiIgY29kZVByb3BlcnR5PSJpZCIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE2NzozNy0xNjc6OTkiIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxNjc6NDMtMTY3Ojk3IiB4c2k6dHlwZT0iU3BsaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5nVG9TcGxpdCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjc6NDktMTY3OjkxIiBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTY3OjQ5LTE2Nzo4MSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTY3OjUwLTE2Nzo2MiIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxNjc6NjctMTY3OjgwIiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N0cmluZ1RvU3BsaXQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgbG9jYXRvcj0iMTY3Ojk0LTE2Nzo5NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSIxNjg6OS0xNzU6NDAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjg6MTUtMTc0OjExIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNjk6MTMtMTcyOjEzIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTcwOjE1LTE3MDo0NSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3MDoxOC0xNzA6NDUiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3MDoxOS0xNzA6MzEiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTcwOjM2LTE3MDo0NCIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3MToyMS0xNzE6NjUiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3MToyMS0xNzE6MzMiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTcxOjM4LTE3MTo2NSIgbmFtZT0iQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNzM6MTYtMTczOjU1IiB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTczOjE2LTE3MzoyMyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNzM6MTYtMTczOjE4IiBuYW1lPSJNZWQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjE3MzoyOC0xNzM6NTUiIG5hbWU9IkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTc1OjE1LTE3NTo0MCIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE3NToxNS0xNzU6MjUiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxNzU6MzAtMTc1OjQwIiBuYW1lPSJDb21tdW5pdHkiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIxNzY6OS0xODg6MTUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNzc6MTUtMTg4OjE1IiBjbGFzc1R5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImlkIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE3ODoyMS0xNzg6MjUiIHBhdGg9ImlkIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxNzk6MjUtMTc5OjMzIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE4MDoyNS0xODA6MzMiIHBhdGg9ImludGVudCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxODE6MjctMTgxOjM3IiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE4MjoyOS0xODI6MTE2IiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2F0b3I9IjE4MjozMi0xODI6NTciIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE4MjozMi0xODI6NDQiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTgyOjQ5LTE4Mjo1NyIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjE4Mjo2NC0xODI6NzgiIHhzaTp0eXBlPSJGaXJzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTgyOjcwLTE4Mjo3NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxODI6NzAtMTgyOjcyIiBuYW1lPSJNZWQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIxODI6ODUtMTgyOjExNiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTgyOjg1LTE4Mjo5NyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxODI6MTAyLTE4MjoxMTYiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTgzOjI2LTE4MzozNSIgcGF0aD0ic3ViamVjdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE4NDoyOS0xODQ6NDEiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTg1OjI3LTE4NTozNyIgcGF0aD0icmVjb3JkZXIiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlSW5zdHJ1Y3Rpb24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTg2OjM2LTE4Njo1NSIgcGF0aD0iZG9zYWdlSW5zdHJ1Y3Rpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGVuc2VSZXF1ZXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjE4NzozNC0xODc6NTEiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjE2NTo0OC0xNjU6NzAiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhdG9yPSIxNjU6NTMtMTY1OjY5IiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjA0OjEtMjA3Ojc4IiBuYW1lPSJVUyBDb3JlLUNhdGVnb3JpemVkIENvbmRpdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyMDU6My0yMDc6NzgiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIwNTozLTIwNjo2OCIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjA1OjMtMjA1OjY3IiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY2F0ZWdvcnkiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjIwNToyNy0yMDU6NjYiIG5hbWU9IkVuY291bnRlciBEaWFnbm9zaXMgQ29uZGl0aW9uIENhdGVnb3J5IiBwcmVzZXJ2ZT0idHJ1ZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjA2OjExLTIwNjo2OCIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNhdGVnb3J5IiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIyMDY6MzUtMjA2OjY3IiBuYW1lPSJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IiBwcmVzZXJ2ZT0idHJ1ZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMDc6MTEtMjA3Ojc4IiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY2F0ZWdvcnkiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjIwNzozNS0yMDc6NzciIG5hbWU9IlVTIENvcmUgSGVhbHRoIENvbmNlcm4gQ29uZGl0aW9uIENhdGVnb3J5IiBwcmVzZXJ2ZT0idHJ1ZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIyMDk6MS0yMjA6MyIgbmFtZT0iQ29uZGl0aW9ucyBJbmRpY2F0aW5nIEVuZCBvZiBMaWZlIG9yIFdpdGggTGltaXRlZCBMaWZlIEV4cGVjdGFuY3kiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyMTA6My0yMjA6MyIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjEwOjMtMjE0OjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjExOjUtMjExOjM4IiBhbGlhcz0iQyI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIxMTo1LTIxMTozNiIgbmFtZT0iVVMgQ29yZS1DYXRlZ29yaXplZCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjIxMjo3LTIxMzo1MCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxMjoxMy0yMTI6NzMiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxMjoxMy0yMTI6MTgiIHBhdGg9ImNvZGUiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMjEyOjIzLTIxMjo3MyIgbmFtZT0iQ29uZGl0aW9ucyBsaWtlbHkgdGVybWluYWwgZm9yIG9waW9pZCBwcmVzY3JpYmluZyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTM6MTMtMjEzOjUwIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTM6MTMtMjEzOjI4IiBwYXRoPSJjbGluaWNhbFN0YXR1cyIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIyMTM6MzMtMjEzOjUwIiBuYW1lPSJBY3RpdmUgQ29uZGl0aW9uIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjE2OjMtMjIwOjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjE3OjUtMjE3OjM4IiBhbGlhcz0iQyI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIxNzo1LTIxNzozNiIgbmFtZT0iVVMgQ29yZS1DYXRlZ29yaXplZCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjIxODo3LTIxOTo1MCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxODoxMy0yMTg6NTgiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxODoxMy0yMTg6MTgiIHBhdGg9ImNvZGUiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMjE4OjIzLTIxODo1OCIgbmFtZT0iTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTk6MTMtMjE5OjUwIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTk6MTMtMjE5OjI4IiBwYXRoPSJjbGluaWNhbFN0YXR1cyIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIyMTk6MzMtMjE5OjUwIiBuYW1lPSJBY3RpdmUgQ29uZGl0aW9uIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIzNzI6Mi0zNzQ6MTMiIG5hbWU9IlNlcnZpY2UgUmVxdWVzdHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNzM6NC0zNzQ6MTMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzczOjQtMzczOjIyIiBhbGlhcz0iU1IiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNzM6NC0zNzM6MTkiIGRhdGFUeXBlPSJmaGlyOlNlcnZpY2VSZXF1ZXN0IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vU2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIzNzQ6NS0zNzQ6MTMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNzQ6MTItMzc0OjEzIiBuYW1lPSJTUiIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjIyMjoxLTI1MjozIiBuYW1lPSJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIyMzozLTI1MjozIiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMjM6My0yMzI6MyIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjIzOjMtMjI2OjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjI0OjUtMjI0OjUyIiBhbGlhcz0iUCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIyNDo1LTIyNDo1MCIgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjIyNDoyNS0yMjQ6NDkiIG5hbWU9Ikhvc3BpY2UgUHJvY2VkdXJlIENvZGVzIiBwcmVzZXJ2ZT0idHJ1ZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSIyMjU6Ny0yMjU6NjAiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyNToxMy0yMjU6MjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjIyNToxMy0yMjU6MjAiIHBhdGg9InN0YXR1cyIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyNTozMS0yMjU6NjAiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjI1OjMzLTIyNTo0NSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImluLXByb2dyZXNzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyMjU6NDgtMjI1OjU4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMjg6My0yMzI6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMjk6NS0yMjk6MjUiIGFsaWFzPSJTUiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIyOTo1LTIyOToyMiIgbmFtZT0iU2VydmljZSBSZXF1ZXN0cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSIyMzA6Ny0yMzE6NTYiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzA6MTMtMjMwOjQ4IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzA6MTMtMjMwOjE5IiBwYXRoPSJjb2RlIiBzY29wZT0iU1IiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIyMzA6MjQtMjMwOjQ4IiBuYW1lPSJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzE6MTMtMjMxOjU2IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzE6MTMtMjMxOjI3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMzE6MTMtMjMxOjIxIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJTUiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjMxOjMyLTIzMTo1NiIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyMzE6MzQtMjMxOjQxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyMzE6NDQtMjMxOjU0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyMzQ6My0yNDA6MyIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIyMzU6OC0yMzU6NTIiIG5hbWU9Ikhvc3BpY2UgRmluZGluZ3MgRXhjbHVzaW9uIEVuYWJsZWQiIGxpYnJhcnlOYW1lPSJDb25maWciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjIzNjo3LTIzNzo4NCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMzY6Ny0yMzY6NTQiIGFsaWFzPSJPIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjM2OjctMjM2OjUyIiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjIzNjoyOS0yMzY6NTEiIG5hbWU9Ikhvc3BpY2UgRmluZGluZyBDb2RlcyIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMjM3OjktMjM3Ojg0IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM3OjE5LTIzNzo4NCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM3OjIwLTIzNzozMyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjM3OjIwLTIzNzoyNyIgcGF0aD0ic3RhdHVzIiBzY29wZT0iTyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM3OjM4LTIzNzo4MyIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyMzc6NDAtMjM3OjQ4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0idW5rbm93biIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjM3OjUxLTIzNzo2OCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImVudGVyZWQtaW4tZXJyb3IiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjIzNzo3MS0yMzc6ODEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjYW5jZWxsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIGxvY2F0b3I9IjIzOTo3LTIzOTo4IiB4c2k6dHlwZT0iTGlzdCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlNlcnZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0MjozLTI1MjozIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI0Mzo1LTI0MzoxNyIgYWxpYXM9IkUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyNDM6NS0yNDM6MTUiIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0VuY291bnRlciIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMjQ0OjctMjUxOjkyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ0OjEzLTI1MDo5IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ0OjEzLTI0NDo3MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NDozOC0yNDQ6NTEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NDoxMy0yNDQ6MzYiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ0OjIzLTI0NDozNiIgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjQ0OjIzLTI0NDozMCIgcGF0aD0icGVyaW9kIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NDozOC0yNDQ6NTEiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSIyNDQ6NjYtMjQ0OjcyIiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNDQ6NjYtMjQ0OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ0OjM4LTI0NDo0MyIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjQ0OjY2LTI0NDo3MiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNDQ6MzgtMjQ0OjUxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ0OjM4LTI0NDo1MSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NDo2Ni0yNDQ6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNDU6MTMtMjUwOjkiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMjQ2OjE0LTI0Nzo3NSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ2OjE0LTI0Njo2NiIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NjoxNC0yNDY6NTgiIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNDY6MTQtMjQ2OjUxIiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNDY6MTQtMjQ2OjMwIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNDc6MTgtMjQ3Ojc1IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ3OjIyLTI0Nzo3NSIgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NzoyOS0yNDc6NzUiIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNDc6MzAtMjQ3OjY3IiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNDc6MzAtMjQ3OjQ2IiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIyNDg6MTgtMjQ4OjIyIiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIyNDk6MTYtMjQ5Ojc4IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNDk6MTYtMjQ5OjUzIiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNDk6MTYtMjQ5OjMyIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIyNDk6NTgtMjQ5Ojc4IiBuYW1lPSJIb3NwaWNlIERpc3Bvc2l0aW9uIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNTE6MTMtMjUxOjkyIiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNTE6MTMtMjUxOjI2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNTE6MTMtMjUxOjIwIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNTE6MzEtMjUxOjkyIiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjI1MTozMy0yNTE6NDEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJwbGFubmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyNTE6NDQtMjUxOjUyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYXJyaXZlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMjUxOjU1LTI1MTo2NyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImluLXByb2dyZXNzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIyNTE6NzAtMjUxOjc5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjI1MTo4Mi0yNTE6OTAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvbmxlYXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIxOTA6MS0xOTg6NSIgbmFtZT0iRW5kIG9mIExpZmUgQXNzZXNzbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE5Mjo1LTE5ODo1IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxOTI6NS0xOTQ6NSIgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE5MjoxMi0xOTQ6NSIgbmFtZT0iQ29uZGl0aW9ucyBJbmRpY2F0aW5nIEVuZCBvZiBMaWZlIG9yIFdpdGggTGltaXRlZCBMaWZlIEV4cGVjdGFuY3kiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTk2OjgtMTk4OjUiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxOTY6MTUtMTk4OjUiIG5hbWU9IkFkbWl0dGVkL1JlZmVycmVkL0Rpc2NoYXJnZWQgdG8gSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjc5OjEtMjgwOjM2IiBuYW1lPSJQcmV2aW91cyAxMCBEYXlzIEludGVydmFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjgwOjEtMjgwOjM2IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMjgwOjEwLTI4MDoyNiIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgwOjEwLTI4MDoxNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4MDoyMC0yODA6MjYiIHZhbHVlPSIxMCIgdW5pdD0iZGF5cyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhdG9yPSIyODA6MjktMjgwOjM1IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIyODI6MS0yODM6NDgiIG5hbWU9IkZpcnN0IE1vbnRoIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjgzOjEtMjgzOjQ4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMjgzOjEwLTI4MzoyNyIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgzOjEwLTI4MzoxNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4MzoyMC0yODM6MjciIHZhbHVlPSIzIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjgzOjMwLTI4Mzo0NyIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgzOjMwLTI4MzozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4Mzo0MC0yODM6NDciIHZhbHVlPSIyIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjg1OjEtMjg2OjQ4IiBuYW1lPSJTZWNvbmQgTW9udGgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyODY6MS0yODY6NDgiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSIyODY6MTAtMjg2OjI3IiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODY6MTAtMjg2OjE2IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg2OjIwLTI4NjoyNyIgdmFsdWU9IjIiIHVuaXQ9Im1vbnRocyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhdG9yPSIyODY6MzAtMjg2OjQ3IiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODY6MzAtMjg2OjM2IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg2OjQwLTI4Njo0NyIgdmFsdWU9IjEiIHVuaXQ9Im1vbnRocyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIyODg6MS0yODk6MzciIG5hbWU9IlRoaXJkIE1vbnRoIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjg5OjEtMjg5OjM3IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMjg5OjEwLTI4OToyNyIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg5OjEwLTI4OToxNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4OToyMC0yODk6MjciIHZhbHVlPSIxIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjg5OjMwLTI4OTozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzIwOjEtMzM0OjMiIG5hbWU9IkdldER1cmF0aW9uSW5EYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzMjE6My0zMzQ6MyIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIzMjE6Ni0zMjE6MTgiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjE6Ni0zMjE6MTAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gYXNUeXBlPSJ0OkRlY2ltYWwiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyMToyNS0zMjE6MjgiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMzIzOjUtMzM0OjMiIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMyNDo3LTMyNDo2NCI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMyNDoxMi0zMjQ6MzMiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI0OjEyLTMyNDoyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI0OjEyLTMyNDoyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjQ6MTItMzI0OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI0OjMxLTMyNDozMyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMzI0OjQwLTMyNDo2NCIgeHNpOnR5cGU9Ik11bHRpcGx5Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI0OjQwLTMyNDo1NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI0OjQwLTMyNDo1MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI0OjQwLTMyNDo0NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyNDo2MC0zMjQ6NjQiIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iMzY1LjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMyNTo3LTMyNTo2NCI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMyNToxMi0zMjU6MzQiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI1OjEyLTMyNToyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI1OjEyLTMyNToyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjU6MTItMzI1OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI1OjMxLTMyNTozNCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjMyNTo0MS0zMjU6NjQiIHhzaTp0eXBlPSJNdWx0aXBseSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyNTo0MS0zMjU6NTciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyNTo0MS0zMjU6NTEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyNTo0MS0zMjU6NDUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjU6NjEtMzI1OjY0IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjMwLjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMyNjo3LTMyNjo2MyI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMyNjoxMi0zMjY6MzQiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI2OjEyLTMyNjoyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI2OjEyLTMyNjoyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjY6MTItMzI2OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI2OjMxLTMyNjozNCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IndrIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjMyNjo0MS0zMjY6NjMiIHhzaTp0eXBlPSJNdWx0aXBseSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyNjo0MS0zMjY6NTciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyNjo0MS0zMjY6NTEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyNjo0MS0zMjY6NDUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjY6NjEtMzI2OjYzIiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjcuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYXRvcj0iMzI3OjctMzI3OjU2Ij4KICAgICAgICAgICAgICAgICAgPHdoZW4gbG9jYXRvcj0iMzI3OjEyLTMyNzozMyIgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjc6MTItMzI3OjI3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjc6MTItMzI3OjIxIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyNzoxMi0zMjc6MTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjc6MzEtMzI3OjMzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIzMjc6NDAtMzI3OjU2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjc6NDAtMzI3OjUwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjc6NDAtMzI3OjQ0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMyODo3LTMyODo2MyI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMyODoxMi0zMjg6MzMiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI4OjEyLTMyODoyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI4OjEyLTMyODoyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjg6MTItMzI4OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI4OjMxLTMyODozMyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMzI4OjQwLTMyODo2MyIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyODo0MC0zMjg6NTYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyODo0MC0zMjg6NTAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyODo0MC0zMjg6NDQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjg6NjAtMzI4OjYzIiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjI0LjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjMyOTo3LTMyOTo3MiI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMyOToxMi0zMjk6MzUiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI5OjEyLTMyOToyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzI5OjEyLTMyOToyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMjk6MTItMzI5OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI5OjMxLTMyOTozNSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1pbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIzMjk6NDItMzI5OjcyIiB4c2k6dHlwZT0iRGl2aWRlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI5OjQyLTMyOTo2NSIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMyOTo0Mi0zMjk6NTgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyOTo0Mi0zMjk6NTIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMyOTo0Mi0zMjk6NDYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMjk6NjItMzI5OjY1IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjYwLjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzI5OjY5LTMyOTo3MiIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSIyNC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIzMzA6Ny0zMzA6NzciPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIzMzA6MTItMzMwOjMzIiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMDoxMi0zMzA6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMDoxMi0zMzA6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzMwOjEyLTMzMDoxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMDozMS0zMzA6MzMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjMzMDo0MC0zMzA6NzciIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzA6NDAtMzMwOjcwIiB4c2k6dHlwZT0iRGl2aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMwOjQwLTMzMDo2MyIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMDo0MC0zMzA6NTYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMDo0MC0zMzA6NTAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMDo0MC0zMzA6NDQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzA6NjAtMzMwOjYzIiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjYwLjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMwOjY3LTMzMDo3MCIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI2MC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMDo3NC0zMzA6NzciIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iMjQuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYXRvcj0iMzMxOjctMzMxOjg3Ij4KICAgICAgICAgICAgICAgICAgPHdoZW4gbG9jYXRvcj0iMzMxOjEyLTMzMTozNCIgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzE6MTItMzMxOjI3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMzE6MTItMzMxOjIxIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMToxMi0zMzE6MTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzE6MzEtMzMxOjM0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ibXMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMzMxOjQxLTMzMTo4NyIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMTo0MS0zMzE6NzgiIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzE6NDEtMzMxOjcxIiB4c2k6dHlwZT0iRGl2aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMxOjQxLTMzMTo2NCIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMTo0MS0zMzE6NTciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMTo0MS0zMzE6NTEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMTo0MS0zMzE6NDUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzE6NjEtMzMxOjY0IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjYwLjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMxOjY4LTMzMTo3MSIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI2MC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMzMTo3NS0zMzE6NzgiIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iMjQuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzE6ODItMzMxOjg3IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjEwMDAuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYXRvcj0iMzMyOjctMzMyOjExMiI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjMzMjoxMi0zMzI6MzUiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzI6MTItMzMyOjI3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMzI6MTItMzMyOjIxIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMjoxMi0zMzI6MTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJUb0RlY2ltYWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzI6NDItMzMyOjExMiIgeHNpOnR5cGU9Ik1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMzMjo1MC0zMzI6NTMiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTAwMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIzMzI6NTYtMzMyOjU5IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIGxvY2F0b3I9IjMzMjo2Mi0zMzI6NzIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJVbmRlZmluZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZXZlcml0eSBsb2NhdG9yPSIzMzI6NzUtMzMyOjgxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRXJyb3IiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtZXNzYWdlIGxvY2F0b3I9IjMzMjo4NC0zMzI6MTExIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRHVyYXRpb24gdW5pdCBjb2RlIGlzIG51bGwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iVG9EZWNpbWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMzOjEyLTMzMzoxMDciIHhzaTp0eXBlPSJNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMzM6MjAtMzMzOjIzIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEwMDAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMzMzOjI2LTMzMzoyOSIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBsb2NhdG9yPSIzMzM6MzItMzMzOjQyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iVW5kZWZpbmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYXRvcj0iMzMzOjQ1LTMzMzo1MSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkVycm9yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8bWVzc2FnZSBsb2NhdG9yPSIzMzM6NTQtMzMzOjEwNiIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzMzOjU0LTMzMzo4NyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlVuc3VwcG9ydGVkIGR1cmF0aW9uIHVuaXQgY29kZTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMzM6OTEtMzMzOjEwNiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzMzOjkxLTMzMzoxMDAiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzMzOjkxLTMzMzo5NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvbWVzc2FnZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIzMjA6NDEtMzIwOjUzIiBuYW1lPSJmaGlyOkR1cmF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjk2OjEtMzA1OjExIiBuYW1lPSJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyOTc6My0zMDU6MTEiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMjk3OjYtMzAwOjMiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTg6NS0yOTg6ODQiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTg6NS0yOTg6MzkiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTg6NS0yOTg6MzkiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTg6NS0yOTg6MjciIHBhdGg9ImF1dGhvcmVkT24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjk4OjUtMjk4OjE2IiBuYW1lPSJwcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5ODo0NS0yOTg6ODQiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTg6NDUtMjk4Ojg0IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjk4OjQ1LTI5ODo3MiIgcGF0aD0iZGlzcGVuc2VSZXF1ZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI5ODo0NS0yOTg6NTYiIG5hbWU9InByZXNjcmlwdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTk6MTEtMjk5OjczIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjk5OjExLTI5OTo3MyIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5OToxMS0yOTk6NjEiIHBhdGg9ImV4cGVjdGVkU3VwcGx5RHVyYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjk5OjExLTI5OTozOCIgcGF0aD0iZGlzcGVuc2VSZXF1ZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI5OToxMS0yOTk6MjIiIG5hbWU9InByZXNjcmlwdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIzMDE6OC0zMDQ6MyIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjMwMjo1LTMwMjozNyIgeHNpOnR5cGU9IkRhdGVGcm9tIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMDI6MTUtMzAyOjM3IiBwYXRoPSJhdXRob3JlZE9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMwMjoxNS0zMDI6MjYiIG5hbWU9InByZXNjcmlwdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICA8aGlnaCBsb2NhdG9yPSIzMDM6NS0zMDM6MTUwIiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzAzOjUtMzAzOjM3IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMwMzoxNS0zMDM6MzciIHBhdGg9ImF1dGhvcmVkT24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzAzOjE1LTMwMzoyNiIgbmFtZT0icHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMDM6NDEtMzAzOjE1MCIgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIzMDM6NjUtMzAzOjEzNCIgbmFtZT0iR2V0RHVyYXRpb25JbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMwMzo4My0zMDM6MTMzIiBwYXRoPSJleHBlY3RlZFN1cHBseUR1cmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMwMzo4My0zMDM6MTEwIiBwYXRoPSJkaXNwZW5zZVJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzAzOjgzLTMwMzo5NCIgbmFtZT0icHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InVuaXQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMzAzOjE0My0zMDM6MTQ4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGF5cyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMDU6OC0zMDU6MTEiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icHJlc2NyaXB0aW9uIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjI5Njo2MS0yOTY6ODIiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIzMDc6MS0zMTY6MyIgbmFtZT0iRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjMwODozLTMxNjozIiB4c2k6dHlwZT0iU3VtIj4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzMDk6NS0zMTU6ODEiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzA5OjUtMzE0OjIzIiBhbGlhcz0iT3Bpb2lkVXNlSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzMDk6NS0zMTQ6NSIgeHNpOnR5cGU9IkNvbGxhcHNlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzEwOjE2LTMxMzo3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMxMTo5LTMxMToxMDAiIGFsaWFzPSJPcGlvaWRQcmVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzMTE6OS0zMTE6ODEiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMzExOjI5LTMxMTo4MCIgbmFtZT0iT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiIHByZXNlcnZlPSJ0cnVlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIzMTI6OS0zMTI6ODQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzMTI6MTYtMzEyOjg0IiB4c2k6dHlwZT0iSW50ZXJzZWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzEyOjE2LTMxMjo2NyIgbmFtZT0iUHJlc2NyaXB0aW9uIFJlbGV2YW50IFBlcmlvZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzEyOjQ4LTMxMjo2NSIgbmFtZT0iT3Bpb2lkUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTI6NzktMzEyOjg0IiBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcmVzdWx0VHlwZU5hbWU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMzE1OjctMzE1OjgxIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzE1OjE0LTMxNTo4MSIgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTU6MjctMzE1OjUyIiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMTU6MzYtMzE1OjUyIiBuYW1lPSJPcGlvaWRVc2VJbnRlcnZhbCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzE1OjU4LTMxNTo4MSIgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxNTo2NS0zMTU6ODEiIG5hbWU9Ik9waW9pZFVzZUludGVydmFsIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJwZXJpb2QiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMzA3OjU2LTMwNzo2OSIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYXRvcj0iMzA3OjY1LTMwNzo2OCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjkxOjEtMjk0OjYwIiBuYW1lPSJQcmVzY3JpYmVkIE9waW9pZHMgZm9yIDIxIG9yIG1vcmUgb2YgMzAgRGF5cyBmb3IgZWFjaCBvZiB0aGUgcGFzdCAzIE1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjI5MjozLTI5NDo2MCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5MjozLTI5Mzo2MSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5MjozLTI5Mjo1NCIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkyOjMtMjkyOjQ4IiBuYW1lPSJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkyOjM1LTI5Mjo0NyIgbmFtZT0iRmlyc3QgTW9udGgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkyOjUzLTI5Mjo1NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTM6OS0yOTM6NjEiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5Mzo5LTI5Mzo1NSIgbmFtZT0iRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5Mzo0MS0yOTM6NTQiIG5hbWU9IlNlY29uZCBNb250aCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTM6NjAtMjkzOjYxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjk0OjktMjk0OjYwIiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTQ6OS0yOTQ6NTQiIG5hbWU9IkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTQ6NDEtMjk0OjUzIiBuYW1lPSJUaGlyZCBNb250aCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTQ6NTktMjk0OjYwIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzQzOjEtMzUyOjciIG5hbWU9IkNvZGluZ1RvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNDQ6My0zNTI6NyIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIzNDQ6Ni0zNDQ6MjEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDQ6Ny0zNDQ6MTIiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpTdHJpbmciIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0NTo4LTM0NToxMSIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIzNDc6NS0zNTI6NyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQ3OjUtMzUxOjM0IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDc6NS0zNTE6MTciIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0Nzo1LTM1MDozNCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQ3OjUtMzUwOjE3IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDc6NS0zNDk6MzIiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0Nzo1LTM0OToxNiIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQ3OjUtMzQ4OjI4IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDc6NS0zNDg6MTQiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0Nzo1LTM0NzoxMiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkNvZGUgeyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDg6Ny0zNDg6MTQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb2RlOiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0ODoxOC0zNDg6MjgiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzQ4OjE4LTM0ODoyMyIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzQ5OjctMzQ5OjE2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ic3lzdGVtOiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM0OToyMC0zNDk6MzIiIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzNDk6MjAtMzQ5OjI1IiBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTA6Ny0zNTA6MTciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJ2ZXJzaW9uOiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1MDoyMS0zNTA6MzQiIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzUwOjIxLTM1MDoyNiIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzUxOjctMzUxOjE3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGlzcGxheTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTE6MjEtMzUxOjM0IiBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjM1MToyMS0zNTE6MjYiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1Mjo1LTM1Mjo3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ifSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kaW5nIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjM0MzozOS0zNDM6NDkiIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzU0OjEtMzYyOjkiIG5hbWU9IkNvZGVhYmxlQ29uY2VwdFRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNTU6My0zNjI6OSIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhdG9yPSIzNTU6Ni0zNTU6NDgiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1NTo3LTM1NToyMSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1NTo3LTM1NToxMyIgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTU6MjYtMzU1OjQ3IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzU1OjI2LTM1NTozOSIgcGF0aD0iY29kaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjM1NToyNi0zNTU6MzIiIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gYXNUeXBlPSJ0OlN0cmluZyIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzU2OjgtMzU2OjExIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2F0b3I9IjM1ODo1LTM2Mjo5IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTg6NS0zNjE6MTEiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM1ODo1LTM2MDo3MyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzU4OjUtMzU5OjE3IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTg6NS0zNTg6MjMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDb2RlYWJsZUNvbmNlcHQgeyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNTk6Ny0zNTk6MTciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDb2Rpbmc6IFsiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM2MDo5LTM2MDo3MyIgeHNpOnR5cGU9IkNvbWJpbmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjM2MDoxNy0zNjA6NjciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzYwOjE3LTM2MDozNyIgYWxpYXM9IkNvZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjM2MDoxNy0zNjA6MzAiIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25jZXB0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjM2MDozOS0zNjA6NjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNjA6NDYtMzYwOjY3IiBuYW1lPSJDb2RpbmdUb1N0cmluZyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzYwOjYxLTM2MDo2NiIgbmFtZT0iQ29kaW5nIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgbG9jYXRvcj0iMzYwOjcwLTM2MDo3MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzYxOjktMzYxOjExIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iXSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzYyOjctMzYyOjkiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJ9IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjM1NDo0OS0zNTQ6NjgiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzM5OjEtMzQwOjQ2IiBuYW1lPSJDb2RlYWJsZUNvbmNlcHRzVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjM0MDozLTM0MDo0NiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzNDA6My0zNDA6MTIiIGFsaWFzPSJjIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzQwOjMtMzQwOjEwIiBuYW1lPSJjb25jZXB0cyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMzQwOjE0LTM0MDo0NiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjM0MDoyMS0zNDA6NDYiIG5hbWU9IkNvZGVhYmxlQ29uY2VwdFRvU3RyaW5nIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNDA6NDUiIG5hbWU9ImMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHRzIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjMzOTo1MS0zMzk6NzYiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhdG9yPSIzMzk6NTYtMzM5Ojc1IiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjM2NDoxLTM2NTozOSIgbmFtZT0iVG9Db2RlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzY1OjMtMzY1OjM5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjM2NTozLTM2NToxMCIgYWxpYXM9ImMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzNjU6My0zNjU6OCIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIzNjU6MTItMzY1OjM5Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzY1OjE5LTM2NTozOSIgbmFtZT0iVG9Db2RlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM2NTozOCIgbmFtZT0iYyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kaW5nIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjM2NDozMi0zNjQ6NDgiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhdG9yPSIzNjQ6MzctMzY0OjQ3IiBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjM2NzoxLTM3MDozIiBuYW1lPSJUb1J4Tm9ybUNvZGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjM2ODozLTM3MDozIiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM2ODoxOC0zNzA6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIzNjk6NS0zNjk6MTIiIGFsaWFzPSJDIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzY5OjUtMzY5OjEwIiBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMzY5OjE0LTM2OTo3NSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzY5OjIwLTM2OToyNyIgcGF0aD0ic3lzdGVtIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzY5OjMxLTM2OTo3NSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly93d3cubmxtLm5paC5nb3YvcmVzZWFyY2gvdW1scy9yeG5vcm0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMzY3OjM3LTM2Nzo1MyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2F0b3I9IjM2Nzo0Mi0zNjc6NTIiIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo=" + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjQiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSIxMDciIHN0YXJ0Q2hhcj0iMTQiIGVuZExpbmU9IjEwNyIgZW5kQ2hhcj0iOTYiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxpZGVudGlmaWVyIGlkPSJPcGlvaWRDRFNDb21tb24iIHN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgdmVyc2lvbj0iMC4xLjEiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIzOjEtMzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIi8+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNToxLTU6NTQiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNjoxLTY6NTYiIGxvY2FsSWRlbnRpZmllcj0iT01US0xvZ2ljIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09NVEtMb2dpY01LMjAyMCIgdmVyc2lvbj0iMC4xLjEiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI3OjEtNzo1OSIgbG9jYWxJZGVudGlmaWVyPSJDb25maWciIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIiB2ZXJzaW9uPSIwLjEuMSIvPgogICA8L2luY2x1ZGVzPgogICA8Y29kZVN5c3RlbXM+CiAgICAgIDxkZWYgbG9jYXRvcj0iOToxLTk6MzgiIG5hbWU9IkxPSU5DIiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjEwOjEtMTA6NDUiIG5hbWU9IlNOT01FRCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgPC9jb2RlU3lzdGVtcz4KICAgPHZhbHVlU2V0cz4KICAgICAgPGRlZiBsb2NhdG9yPSIxMzoxLTEzOjE2MiIgbmFtZT0iT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1hbmFsZ2VzaWNzLXdpdGgtYW1idWxhdG9yeS1taXN1c2UtcG90ZW50aWFsIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTQ6MS0xNDoxNzQiIG5hbWU9IkV4dGVuZGVkIHJlbGVhc2Ugb3Bpb2lkIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9leHRlbmRlZC1yZWxlYXNlLW9waW9pZC13aXRoLWFtYnVsYXRvcnktbWlzdXNlLXBvdGVudGlhbCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjE1OjEtMTU6MTQwIiBuYW1lPSJCdXByZW5vcnBoaW5lIGFuZCBtZXRoYWRvbmUgbWVkaWNhdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2J1cHJlbm9ycGhpbmUtYW5kLW1ldGhhZG9uZS1tZWRpY2F0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjE2OjEtMTY6MTI2IiBuYW1lPSJOb24tc3ludGhldGljIG9waW9pZCBtZWRpY2F0aW9ucyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbm9uLXN5bnRoZXRpYy1vcGlvaWQtbWVkaWNhdGlvbnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIxOToxLTE5OjEzMCIgbmFtZT0iTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbGltaXRlZC1saWZlLWV4cGVjdGFuY3ktY29uZGl0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjIwOjEtMjA6MTM2IiBuYW1lPSJUaGVyYXBpZXMgaW5kaWNhdGluZyBlbmQgb2YgbGlmZSBjYXJlIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC90aGVyYXBpZXMtaW5kaWNhdGluZy1lbmQtb2YtbGlmZS1jYXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjE6MS0yMToxNjAiIG5hbWU9IkNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmciIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtbGlrZWx5LXRlcm1pbmFsLWZvci1vcGlvaWQtcHJlc2NyaWJpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIyMjoxLTIyOjEyNCIgbmFtZT0iQ0RDIG1hbGlnbmFudCBjYW5jZXIgY29uZGl0aW9ucyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY2RjLW1hbGlnbmFudC1jYW5jZXItY29uZGl0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjIzOjEtMjM6MTMxIiBuYW1lPSJPbmNvbG9neSBzcGVjaWFsdHkgZGVzaWduYXRpb25zIChOVUNDKSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb25jb2xvZ3ktc3BlY2lhbHR5LWRlc2lnbmF0aW9ucyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjI0OjEtMjQ6MTA4IiBuYW1lPSJPcGlvaWQgbWlzdXNlIGRpc29yZGVycyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLW1pc3VzZS1kaXNvcmRlcnMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIyNToxLTI1OjEzOCIgbmFtZT0iU3Vic3RhbmNlIG1pc3VzZSBiZWhhdmlvcmFsIGNvdW5zZWxpbmciIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3N1YnN0YW5jZS1taXN1c2UtYmVoYXZpb3JhbC1jb3Vuc2VsaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjY6MS0yNjoxNDAiIG5hbWU9IkNvbmRpdGlvbnMgZG9jdW1lbnRpbmcgc3Vic3RhbmNlIG1pc3VzZSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9ucy1kb2N1bWVudGluZy1zdWJzdGFuY2UtbWlzdXNlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjk6MS0yOTo4NiIgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vZmZpY2UtdmlzaXQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIzMDoxLTMwOjExNiIgbmFtZT0iT3Bpb2lkIGNvdW5zZWxpbmcgcHJvY2VkdXJlIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtY291bnNlbGluZy1wcm9jZWR1cmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIzMjoxLTMyOjExNCIgbmFtZT0iQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2JlbnpvZGlhemVwaW5lLW1lZGljYXRpb25zIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzM6MS0zMzoxMjQiIG5hbWU9Ik5vbi1vcGlvaWQgZHJ1ZyB1cmluZSBzY3JlZW5pbmciIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L25vbi1vcGlvaWQtZHJ1Zy11cmluZS1zY3JlZW5pbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIzNDoxLTM0OjEwMiIgbmFtZT0iTmFsb3hvbmUgbWVkaWNhdGlvbnMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L25hbG94b25lLW1lZGljYXRpb25zIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzU6MS0zNToxMzAiIG5hbWU9Ik9waW9pZCBtaXN1c2UgYXNzZXNzbWVudCBwcm9jZWR1cmUiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1taXN1c2UtYXNzZXNzbWVudC1wcm9jZWR1cmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIzNjoxLTM2OjExNiIgbmFtZT0iT3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtZHJ1Zy11cmluZS1zY3JlZW5pbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSIzNzoxLTM3OjEwMCIgbmFtZT0iSG9zcGljZSBEaXNwb3NpdGlvbiIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvaG9zcGljZS1kaXNwb3NpdGlvbiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjM4OjEtMzg6OTgiIG5hbWU9Ikhvc3BpY2UgRmluZGluZyBDb2RlcyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvaG9zcGljZS1maW5kaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzk6MS0zOToxMDIiIG5hbWU9Ikhvc3BpY2UgUHJvY2VkdXJlIENvZGVzIiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLXByb2NlZHVyZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjQwOjEtNDA6MTI0IiBuYW1lPSJPYnNlcnZhdGlvbiBDYXRlZ29yeSBMYWJvcmF0b3J5IiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vYnNlcnZhdGlvbi1jYXRlZ29yeS1sYWJvcmF0b3J5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDE6MS00MToxMjIiIG5hbWU9Ik9ic2VydmF0aW9uIENhdGVnb3J5IFByb2NlZHVyZSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2JzZXJ2YXRpb24tY2F0ZWdvcnktcHJvY2VkdXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDI6MS00MjoxMDAiIG5hbWU9IlBhaW4gdHJlYXRtZW50IHBsYW4iIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BhaW4tdHJlYXRtZW50LXBsYW4iIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0MzoxLTQzOjExMiIgbmFtZT0iUGFpbiBtYW5hZ2VtZW50IHByb2NlZHVyZSIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGFpbi1tYW5hZ2VtZW50LXByb2NlZHVyZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjQ0OjEtNDQ6MTA0IiBuYW1lPSJQRE1QIHJldmlldyBwcm9jZWR1cmUiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BkbXAtcmV2aWV3LXByb2NlZHVyZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjQ1OjEtNDU6MTE0IiBuYW1lPSJQRE1QIGRhdGEgcmV2aWV3ZWQgZmluZGluZyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGRtcC1kYXRhLXJldmlld2VkLWZpbmRpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0NjoxLTQ2OjExNSIgbmFtZT0iQ29jYWluZSBVcmluZSBUZXN0cyIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29jYWluZS11cmluZS1kcnVnLXNjcmVlbmluZy10ZXN0cyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjQ3OjEtNDc6MTE3IiBuYW1lPSJQQ1AgVXJpbmUgVGVzdHMiIGlkPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BoZW5jeWNsaWRpbmUtdXJpbmUtZHJ1Zy1zY3JlZW5pbmctdGVzdHMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI0OToxLTQ5OjEwNyIgbmFtZT0iQ29tbXVuaXR5IiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9tZWRpY2F0aW9ucmVxdWVzdC1jYXRlZ29yeS1jb21tdW5pdHkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI1MDoxLTUwOjExMCIgbmFtZT0iQWN0aXZlIENvbmRpdGlvbiIgaWQ9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLWNsaW5pY2FsLXN0YXR1cy1hY3RpdmUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI1MToxLTUxOjExNyIgbmFtZT0iQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9tZWRpY2F0aW9ucmVxdWVzdC1zdGF0dXMtYWN0aXZlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTM6MS01MzoxMzgiIG5hbWU9IkVuY291bnRlciBEaWFnbm9zaXMgQ29uZGl0aW9uIENhdGVnb3J5IiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tZW5jb3VudGVyLWRpYWdub3Npcy1jYXRlZ29yeSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjU0OjEtNTQ6MTI0IiBuYW1lPSJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tcHJvYmxlbS1saXN0LWNhdGVnb3J5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTU6MS01NToxNDQiIG5hbWU9IlVTIENvcmUgSGVhbHRoIENvbmNlcm4gQ29uZGl0aW9uIENhdGVnb3J5IiBpZD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tdXMtY29yZS1oZWFsdGgtY29uY2Vybi1jYXRlZ29yeSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICA8L3ZhbHVlU2V0cz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjU5OjEtNTk6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTk6MS01OToxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTk6MS01OToxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjYzOjEtNjc6NjgiIG5hbWU9Ik9waW9pZCBPdGhlciBUaGFuIFN5bnRoZXRpYyBPcmRlcmVkIEluIExhc3QgMTIgTW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNjQ6My02Nzo2OCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI2NDozLTY0OjYyIiBhbGlhcz0iTVIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI2NDozLTY0OjU5IiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9InN0YXR1cyIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iNjQ6MzMtNjQ6NTgiIG5hbWU9IkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iNjU6Ny02Nzo2OCIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MTMtNjY6MzYiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NToxMy02NTo3MSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjM3LTY1OjUwIiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NToxMy02NTozNSIgeHNpOnR5cGU9IkRhdGVGcm9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NToyMy02NTozNSIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjM3LTY1OjUwIiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iNjU6NjUtNjU6NzEiIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjY1LTY1OjcxIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MzctNjU6NDIiIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjY1OjY1LTY1OjcxIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY1OjM3LTY1OjUwIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjU6MzctNjU6NTAiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NTo2NS02NTo3MSIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY2OjExLTY2OjM2IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NjoxMS02NjoyMyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhdG9yPSI2NjoyOC02NjozNiIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY2OjQxLTY3OjY4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjY6NDItNjY6MTEwIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2Njo0Mi02Njo1NCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik1SIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI2Njo1OS02NjoxMTAiIG5hbWU9Ik9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY3OjExLTY3OjY3IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjc6MTUtNjc6NjciIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY3OjE2LTY3OjI4IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iTVIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjY3OjMzLTY3OjY2IiBuYW1lPSJOb24tc3ludGhldGljIG9waW9pZCBtZWRpY2F0aW9ucyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI5MDoxLTkzOjM2IiBuYW1lPSJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTE6My05MzozNiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5MTozLTkxOjEwIiBhbGlhcz0iUngiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI5MTozLTkxOjciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjkyOjUtOTM6MzYiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5MjoxMS05MjozNiIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTI6MTEtOTI6MjUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkyOjExLTkyOjE5IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTI6MjktOTI6MzYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTM6MTEtOTM6MzYiIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI5MzoxMS05MzoyMSIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjkzOjI2LTkzOjM2IiBuYW1lPSJDb21tdW5pdHkiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSI5MDo2OC05MDo5MCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2F0b3I9IjkwOjczLTkwOjg5IiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTA1OjEtMTIwOjciIG5hbWU9IkdldCBNZWRpY2F0aW9uUmVxdWVzdCBNZWRpY2F0aW9uIGFzIENvZGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEwNjozLTEyMDo3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwNjozLTEwNjoxMCIgYWxpYXM9IlJ4Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTA2OjMtMTA2OjciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPGxldCBsb2NhdG9yPSIxMDc6OS0xMDc6OTYiIGlkZW50aWZpZXI9Ik1lZCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEwNzoxNC0xMDc6OTYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTA3OjMzLTEwNzo5NSIgeHNpOnR5cGU9Ikxhc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwNzozOS0xMDc6OTMiIHhzaTp0eXBlPSJTcGxpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwNzo0NS0xMDc6ODciIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxMDc6NDUtMTA3Ojc3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDc6NDYtMTA3OjU4IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjEwNzo2My0xMDc6NzYiIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3RyaW5nVG9TcGxpdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlcGFyYXRvciBsb2NhdG9yPSIxMDc6OTAtMTA3OjkyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIxMDg6NS0xMjA6NyI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEwOTo3LTEyMDo3IiBjbGFzc1R5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImlkIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjExMDoxMy0xMTA6MTciIHBhdGg9ImlkIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMTE6MTctMTExOjI1IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjExMjoxNy0xMTI6MjUiIHBhdGg9ImludGVudCIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMTM6MTktMTEzOjI5IiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNDoyMS0xMTQ6MTA4IiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2F0b3I9IjExNDoyNC0xMTQ6NDkiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjExNDoyNC0xMTQ6MzYiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTE0OjQxLTExNDo0OSIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjExNDo1Ni0xMTQ6NzAiIHhzaTp0eXBlPSJGaXJzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTE0OjYyLTExNDo2OSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMTQ6NjItMTE0OjY0IiBuYW1lPSJNZWQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIxMTQ6NzctMTE0OjEwOCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTE0Ojc3LTExNDo4OSIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMTQ6OTQtMTE0OjEwOCIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMTU6MTgtMTE1OjI3IiBwYXRoPSJzdWJqZWN0IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTE2OjIxLTExNjozMyIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMTc6MTktMTE3OjI5IiBwYXRoPSJyZWNvcmRlciIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSIxMTg6MjgtMTE4OjQ3IiBwYXRoPSJkb3NhZ2VJbnN0cnVjdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMTE5OjI2LTExOTo0MyIgcGF0aD0iZGlzcGVuc2VSZXF1ZXN0IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMTA1OjY2LTEwNTo4OCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2F0b3I9IjEwNTo3MS0xMDU6ODciIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2OToxLTc0Ojc5IiBuYW1lPSJBY3RpdmUgQW1idWxhdG9yeSBPcGlvaWQgUngiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3MDozLTc0Ojc5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjcwOjMtNzI6NiIgYWxpYXM9IlJ4Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzA6My03MjozIiBuYW1lPSJHZXQgTWVkaWNhdGlvblJlcXVlc3QgTWVkaWNhdGlvbiBhcyBDb2RlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MTo0OC03MToxMTEiIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MTo5Mi03MToxMTAiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSI3Mzo1LTc0Ojc5IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzM6MTEtNzM6NzAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MzozNS03Mzo0OSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzM6MTEtNzM6MzMiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzM6MjEtNzM6MzMiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MzozNS03Mzo0OSIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjczOjY0LTczOjcwIiB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3Mzo2NC03Mzo3MCIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjczOjM1LTczOjQxIiB2YWx1ZT0iMiIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iNzM6NjQtNzM6NzAiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzM6MzUtNzM6NDkiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI3MzozNS03Mzo0OSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjczOjY0LTczOjcwIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzQ6MTEtNzQ6NzkiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijc0OjExLTc0OjIzIiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9Ijc0OjI4LTc0Ojc5IiBuYW1lPSJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9Ijc2OjEtODE6NTUiIG5hbWU9IkFjdGl2ZSBBbWJ1bGF0b3J5IEJlbnpvZGlhemVwaW5lIFJ4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzc6My04MTo1NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI3NzozLTc5OjYiIGFsaWFzPSJSeCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijc3OjMtNzk6MyIgbmFtZT0iR2V0IE1lZGljYXRpb25SZXF1ZXN0IE1lZGljYXRpb24gYXMgQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzg6NDgtNzg6MTExIiBuYW1lPSJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzg6OTItNzg6MTEwIiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iODA6NS04MTo1NSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgwOjExLTgwOjcwIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODA6MzUtODA6NDkiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgwOjExLTgwOjMzIiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgwOjIxLTgwOjMzIiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODA6MzUtODA6NDkiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSI4MDo2NC04MDo3MCIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODA6NjQtODA6NzAiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MDozNS04MDo0MSIgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjgwOjY0LTgwOjcwIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgwOjM1LTgwOjQ5IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODA6MzUtODA6NDkiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MDo2NC04MDo3MCIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgxOjExLTgxOjU1IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MToxMS04MToyMyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI4MToyOC04MTo1NSIgbmFtZT0iQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI4MzoxLTg4OjQ5IiBuYW1lPSJBY3RpdmUgQW1idWxhdG9yeSBOYWxveG9uZSBSeCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijg0OjMtODg6NDkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iODQ6My04Njo2IiBhbGlhcz0iUngiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI4NDozLTg2OjMiIG5hbWU9IkdldCBNZWRpY2F0aW9uUmVxdWVzdCBNZWRpY2F0aW9uIGFzIENvZGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg1OjQ4LTg1OjExMSIgbmFtZT0iR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE1lZGljYXRpb24gUmVxdWVzdHMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg1OjkyLTg1OjExMCIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9Ijg3OjUtODg6NDkiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4NzoxMS04Nzo3MCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg3OjM1LTg3OjQ5IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4NzoxMS04NzozMyIgeHNpOnR5cGU9IkRhdGVGcm9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4NzoyMS04NzozMyIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg3OjM1LTg3OjQ5IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iODc6NjQtODc6NzAiIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg3OjY0LTg3OjcwIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODc6MzUtODc6NDEiIHZhbHVlPSIyIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhdG9yPSI4Nzo2NC04Nzo3MCIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4NzozNS04Nzo0OSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijg3OjM1LTg3OjQ5IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODc6NjQtODc6NzAiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4ODoxMS04ODo0OSIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODg6MTEtODg6MjMiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iODg6MjgtODg6NDkiIG5hbWU9Ik5hbG94b25lIG1lZGljYXRpb25zIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iOTU6MS05ODozNiIgbmFtZT0iSXMgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbD8iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9Ijk2OjMtOTg6MzYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTY6My05Njo1NiIgYWxpYXM9IlJ4Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTY6My05Njo1MyIgbmFtZT0iR2V0IE1lZGljYXRpb25SZXF1ZXN0IE1lZGljYXRpb24gYXMgQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTY6NDctOTY6NTEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iOTc6NS05ODozNiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9Ijk3OjExLTk3Ojc5IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI5NzoxMS05NzoyMyIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSI5NzoyOC05Nzo3OSIgbmFtZT0iT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iOTg6MTEtOTg6MzYiIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI5ODoxMS05ODoyMSIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9Ijk4OjI2LTk4OjM2IiBuYW1lPSJDb21tdW5pdHkiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSI5NTo3OS05NToxMDEiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhdG9yPSI5NTo4NC05NToxMDAiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIxMDA6MS0xMDM6MzYiIG5hbWU9IklzIEJlbnpvZGlhemVwaW5lPyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTAxOjMtMTAzOjM2IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjEwMTozLTEwMTo1NiIgYWxpYXM9IlJ4Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTAxOjMtMTAxOjUzIiBuYW1lPSJHZXQgTWVkaWNhdGlvblJlcXVlc3QgTWVkaWNhdGlvbiBhcyBDb2RlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDE6NDctMTAxOjUxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjEwMjo1LTEwMzozNiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwMjoxMS0xMDI6NTUiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwMjoxMS0xMDI6MjMiIHBhdGg9Im1lZGljYXRpb24iIHNjb3BlPSJSeCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTAyOjI4LTEwMjo1NSIgbmFtZT0iQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAzOjExLTEwMzozNiIgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjEwMzoxMS0xMDM6MjEiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhdG9yPSIxMDM6MjYtMTAzOjM2IiBuYW1lPSJDb21tdW5pdHkiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIxMDA6NDQtMTAwOjY2IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYXRvcj0iMTAwOjQ5LTEwMDo2NSIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjEzNjoxLTEzOTo3OCIgbmFtZT0iVVMgQ29yZS1DYXRlZ29yaXplZCBDb25kaXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTM3OjMtMTM5Ojc4IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMzc6My0xMzg6NjgiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzNzozLTEzNzo2NyIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNhdGVnb3J5IiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxMzc6MjctMTM3OjY2IiBuYW1lPSJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEzODoxMS0xMzg6NjgiIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0NvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjYXRlZ29yeSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMTM4OjM1LTEzODo2NyIgbmFtZT0iUHJvYmxlbSBMaXN0IENvbmRpdGlvbiBDYXRlZ29yeSIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTM5OjExLTEzOTo3OCIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNhdGVnb3J5IiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxMzk6MzUtMTM5Ojc3IiBuYW1lPSJVUyBDb3JlIEhlYWx0aCBDb25jZXJuIENvbmRpdGlvbiBDYXRlZ29yeSIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTQxOjEtMTUyOjMiIG5hbWU9IkNvbmRpdGlvbnMgSW5kaWNhdGluZyBFbmQgb2YgTGlmZSBvciBXaXRoIExpbWl0ZWQgTGlmZSBFeHBlY3RhbmN5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTQyOjMtMTUyOjMiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE0MjozLTE0NjozIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE0Mzo1LTE0MzozOCIgYWxpYXM9IkMiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNDM6NS0xNDM6MzYiIG5hbWU9IlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSIxNDQ6Ny0xNDU6NTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDQ6MTMtMTQ0OjczIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNDQ6MTMtMTQ0OjE4IiBwYXRoPSJjb2RlIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjE0NDoyMy0xNDQ6NzMiIG5hbWU9IkNvbmRpdGlvbnMgbGlrZWx5IHRlcm1pbmFsIGZvciBvcGlvaWQgcHJlc2NyaWJpbmciIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQ1OjEzLTE0NTo1MCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTQ1OjEzLTE0NToyOCIgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTQ1OjMzLTE0NTo1MCIgbmFtZT0iQWN0aXZlIENvbmRpdGlvbiIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE0ODozLTE1MjozIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE0OTo1LTE0OTozOCIgYWxpYXM9IkMiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNDk6NS0xNDk6MzYiIG5hbWU9IlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhdG9yPSIxNTA6Ny0xNTE6NTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTA6MTMtMTUwOjU4IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTA6MTMtMTUwOjE4IiBwYXRoPSJjb2RlIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2F0b3I9IjE1MDoyMy0xNTA6NTgiIG5hbWU9IkxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5IGNvbmRpdGlvbnMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTUxOjEzLTE1MTo1MCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTUxOjEzLTE1MToyOCIgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTUxOjMzLTE1MTo1MCIgbmFtZT0iQWN0aXZlIENvbmRpdGlvbiIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzA0OjItMzA2OjEzIiBuYW1lPSJTZXJ2aWNlIFJlcXVlc3RzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzA1OjQtMzA2OjEzIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjMwNTo0LTMwNToyMiIgYWxpYXM9IlNSIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzA1OjQtMzA1OjE5IiBkYXRhVHlwZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1NlcnZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMzA2OjUtMzA2OjEzIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMzA2OjEyLTMwNjoxMyIgbmFtZT0iU1IiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIxNTQ6MS0xODQ6MyIgbmFtZT0iQWRtaXR0ZWQvUmVmZXJyZWQvRGlzY2hhcmdlZCB0byBIb3NwaWNlIENhcmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNTU6My0xODQ6MyIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTU1OjMtMTY0OjMiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE1NTozLTE1ODozIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE1Njo1LTE1Njo1MiIgYWxpYXM9IlAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNTY6NS0xNTY6NTAiIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1Byb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxNTY6MjUtMTU2OjQ5IiBuYW1lPSJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIgcHJlc2VydmU9InRydWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTU3OjctMTU3OjYwIiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTc6MTMtMTU3OjI2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxNTc6MTMtMTU3OjIwIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNTc6MzEtMTU3OjYwIiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjE1NzozMy0xNTc6NDUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJpbi1wcm9ncmVzcyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMTU3OjQ4LTE1Nzo1OCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlNlcnZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTYwOjMtMTY0OjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTYxOjUtMTYxOjI1IiBhbGlhcz0iU1IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxNjE6NS0xNjE6MjIiIG5hbWU9IlNlcnZpY2UgUmVxdWVzdHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iMTYyOjctMTYzOjU2IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTYyOjEzLTE2Mjo0OCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTYyOjEzLTE2MjoxOSIgcGF0aD0iY29kZSIgc2NvcGU9IlNSIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTYyOjI0LTE2Mjo0OCIgbmFtZT0iSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiIHByZXNlcnZlPSJ0cnVlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTYzOjEzLTE2Mzo1NiIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTYzOjEzLTE2MzoyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTYzOjEzLTE2MzoyMSIgcGF0aD0ic3RhdHVzIiBzY29wZT0iU1IiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE2MzozMi0xNjM6NTYiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMTYzOjM0LTE2Mzo0MSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMTYzOjQ0LTE2Mzo1NCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlNlcnZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTY2OjMtMTcyOjMiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMTY3OjgtMTY3OjUyIiBuYW1lPSJIb3NwaWNlIEZpbmRpbmdzIEV4Y2x1c2lvbiBFbmFibGVkIiBsaWJyYXJ5TmFtZT0iQ29uZmlnIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIxNjg6Ny0xNjk6ODQiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTY4OjctMTY4OjU0IiBhbGlhcz0iTyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjE2ODo3LTE2ODo1MiIgZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxNjg6MjktMTY4OjUxIiBuYW1lPSJIb3NwaWNlIEZpbmRpbmcgQ29kZXMiIHByZXNlcnZlPSJ0cnVlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjE2OTo5LTE2OTo4NCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE2OToxOS0xNjk6ODQiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE2OToyMC0xNjk6MzMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE2OToyMC0xNjk6MjciIHBhdGg9InN0YXR1cyIgc2NvcGU9Ik8iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE2OTozOC0xNjk6ODMiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMTY5OjQwLTE2OTo0OCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InVua25vd24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjE2OTo1MS0xNjk6NjgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJlbnRlcmVkLWluLWVycm9yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIxNjk6NzEtMTY5OjgxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY2FuY2VsbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIxNzE6Ny0xNzE6OCIgeHNpOnR5cGU9Ikxpc3QiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlNlcnZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNzQ6My0xODQ6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIxNzU6NS0xNzU6MTciIGFsaWFzPSJFIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMTc1OjUtMTc1OjE1IiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9FbmNvdW50ZXIiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjE3Njo3LTE4Mzo5MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3NjoxMy0xODI6OSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3NjoxMy0xNzY6NzIiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNzY6MzgtMTc2OjUxIiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNzY6MTMtMTc2OjM2IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3NjoyMy0xNzY6MzYiIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjE3NjoyMy0xNzY6MzAiIHBhdGg9InBlcmlvZCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNzY6MzgtMTc2OjUxIiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMTc2OjY2LTE3Njo3MiIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTc2OjY2LTE3Njo3MiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3NjozOC0xNzY6NDMiIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjE3Njo2Ni0xNzY6NzIiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTc2OjM4LTE3Njo1MSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3NjozOC0xNzY6NTEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNzY6NjYtMTc2OjcyIiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTc3OjEzLTE4Mjo5IiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2F0b3I9IjE3ODoxNC0xNzk6NzUiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3ODoxNC0xNzg6NjYiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNzg6MTQtMTc4OjU4IiBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTc4OjE0LTE3ODo1MSIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTc4OjE0LTE3ODozMCIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTc5OjE4LTE3OTo3NSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjE3OToyMi0xNzk6NzUiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxNzk6MjktMTc5Ojc1IiBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTc5OjMwLTE3OTo2NyIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTc5OjMwLTE3OTo0NiIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMTgwOjE4LTE4MDoyMiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMTgxOjE2LTE4MTo3OCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTgxOjE2LTE4MTo1MyIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTgxOjE2LTE4MTozMiIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYXRvcj0iMTgxOjU4LTE4MTo3OCIgbmFtZT0iSG9zcGljZSBEaXNwb3NpdGlvbiIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTgzOjEzLTE4Mzo5MiIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTgzOjEzLTE4MzoyNiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMTgzOjEzLTE4MzoyMCIgcGF0aD0ic3RhdHVzIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTgzOjMxLTE4Mzo5MiIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIxODM6MzMtMTgzOjQxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icGxhbm5lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMTgzOjQ0LTE4Mzo1MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFycml2ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjE4Mzo1NS0xODM6NjciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJpbi1wcm9ncmVzcyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iMTgzOjcwLTE4Mzo3OSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSIxODM6ODItMTgzOjkwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib25sZWF2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTIyOjEtMTMwOjUiIG5hbWU9IkVuZCBvZiBMaWZlIEFzc2Vzc21lbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIxMjQ6NS0xMzA6NSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTI0OjUtMTI2OjUiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjQ6MTItMTI2OjUiIG5hbWU9IkNvbmRpdGlvbnMgSW5kaWNhdGluZyBFbmQgb2YgTGlmZSBvciBXaXRoIExpbWl0ZWQgTGlmZSBFeHBlY3RhbmN5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEyODo4LTEzMDo1IiB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTI4OjE1LTEzMDo1IiBuYW1lPSJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjIxMToxLTIxMjozNiIgbmFtZT0iUHJldmlvdXMgMTAgRGF5cyBJbnRlcnZhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIxMjoxLTIxMjozNiIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2F0b3I9IjIxMjoxMC0yMTI6MjYiIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxMjoxMC0yMTI6MTYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTI6MjAtMjEyOjI2IiB2YWx1ZT0iMTAiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjEyOjI5LTIxMjozNSIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjE0OjEtMjE1OjQ4IiBuYW1lPSJGaXJzdCBNb250aCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIxNToxLTIxNTo0OCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2F0b3I9IjIxNToxMC0yMTU6MjciIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxNToxMC0yMTU6MTYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTU6MjAtMjE1OjI3IiB2YWx1ZT0iMyIgdW5pdD0ibW9udGhzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjIxNTozMC0yMTU6NDciIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxNTozMC0yMTU6MzYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMTU6NDAtMjE1OjQ3IiB2YWx1ZT0iMiIgdW5pdD0ibW9udGhzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjIxNzoxLTIxODo0OCIgbmFtZT0iU2Vjb25kIE1vbnRoIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjE4OjEtMjE4OjQ4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMjE4OjEwLTIxODoyNyIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjE4OjEwLTIxODoxNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxODoyMC0yMTg6MjciIHZhbHVlPSIyIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjE4OjMwLTIxODo0NyIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjE4OjMwLTIxODozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIxODo0MC0yMTg6NDciIHZhbHVlPSIxIiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjIwOjEtMjIxOjM3IiBuYW1lPSJUaGlyZCBNb250aCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjIyMToxLTIyMTozNyIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2F0b3I9IjIyMToxMC0yMjE6MjciIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyMToxMC0yMjE6MTYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMjE6MjAtMjIxOjI3IiB2YWx1ZT0iMSIgdW5pdD0ibW9udGhzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgIDxoaWdoIGxvY2F0b3I9IjIyMTozMC0yMjE6MzYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjI1MjoxLTI2NjozIiBuYW1lPSJHZXREdXJhdGlvbkluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjUzOjMtMjY2OjMiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMjUzOjYtMjUzOjE4IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjUzOjYtMjUzOjEwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpEZWNpbWFsIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNTM6MjUtMjUzOjI4IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2F0b3I9IjI1NTo1LTI2NjozIiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIyNTY6Ny0yNTY6NjQiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIyNTY6MTItMjU2OjMzIiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI1NjoxMi0yNTY6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI1NjoxMi0yNTY6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjU2OjEyLTI1NjoxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI1NjozMS0yNTY6MzMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjI1Njo0MC0yNTY6NjQiIHhzaTp0eXBlPSJNdWx0aXBseSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI1Njo0MC0yNTY6NTYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI1Njo0MC0yNTY6NTAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI1Njo0MC0yNTY6NDQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNTY6NjAtMjU2OjY0IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjM2NS4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIyNTc6Ny0yNTc6NjQiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIyNTc6MTItMjU3OjM0IiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI1NzoxMi0yNTc6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI1NzoxMi0yNTc6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjU3OjEyLTI1NzoxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI1NzozMS0yNTc6MzQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtbyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIyNTc6NDEtMjU3OjY0IiB4c2k6dHlwZT0iTXVsdGlwbHkiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNTc6NDEtMjU3OjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNTc6NDEtMjU3OjUxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNTc6NDEtMjU3OjQ1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjU3OjYxLTI1Nzo2NCIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSIzMC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIyNTg6Ny0yNTg6NjMiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIyNTg6MTItMjU4OjM0IiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI1ODoxMi0yNTg6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI1ODoxMi0yNTg6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjU4OjEyLTI1ODoxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI1ODozMS0yNTg6MzQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJ3ayIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIyNTg6NDEtMjU4OjYzIiB4c2k6dHlwZT0iTXVsdGlwbHkiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNTg6NDEtMjU4OjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNTg6NDEtMjU4OjUxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNTg6NDEtMjU4OjQ1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjU4OjYxLTI1ODo2MyIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI3LjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjI1OTo3LTI1OTo1NiI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjI1OToxMi0yNTk6MzMiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjU5OjEyLTI1OToyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjU5OjEyLTI1OToyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNTk6MTItMjU5OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjU5OjMxLTI1OTozMyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMjU5OjQwLTI1OTo1NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjU5OjQwLTI1OTo1MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjU5OjQwLTI1OTo0NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIyNjA6Ny0yNjA6NjMiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIyNjA6MTItMjYwOjMzIiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2MDoxMi0yNjA6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI2MDoxMi0yNjA6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjYwOjEyLTI2MDoxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2MDozMS0yNjA6MzMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJoIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjI2MDo0MC0yNjA6NjMiIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNjA6NDAtMjYwOjU2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjA6NDAtMjYwOjUwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjA6NDAtMjYwOjQ0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjYwOjYwLTI2MDo2MyIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSIyNC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhdG9yPSIyNjE6Ny0yNjE6NzIiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIyNjE6MTItMjYxOjM1IiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2MToxMi0yNjE6MjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI2MToxMi0yNjE6MjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjYxOjEyLTI2MToxNiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2MTozMS0yNjE6MzUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtaW4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMjYxOjQyLTI2MTo3MiIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2MTo0Mi0yNjE6NjUiIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNjE6NDItMjYxOjU4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjE6NDItMjYxOjUyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjE6NDItMjYxOjQ2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjYxOjYyLTI2MTo2NSIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI2MC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2MTo2OS0yNjE6NzIiIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iMjQuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYXRvcj0iMjYyOjctMjYyOjc3Ij4KICAgICAgICAgICAgICAgICAgPHdoZW4gbG9jYXRvcj0iMjYyOjEyLTI2MjozMyIgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNjI6MTItMjYyOjI3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjI6MTItMjYyOjIxIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI2MjoxMi0yNjI6MTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNjI6MzEtMjYyOjMzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhdG9yPSIyNjI6NDAtMjYyOjc3IiB4c2k6dHlwZT0iRGl2aWRlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjYyOjQwLTI2Mjo3MCIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2Mjo0MC0yNjI6NjMiIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNjI6NDAtMjYyOjU2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjI6NDAtMjYyOjUwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjI6NDAtMjYyOjQ0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjYyOjYwLTI2Mjo2MyIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI2MC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2Mjo2Ny0yNjI6NzAiIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iNjAuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNjI6NzQtMjYyOjc3IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjI0LjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjI2Mzo3LTI2Mzo4NyI+CiAgICAgICAgICAgICAgICAgIDx3aGVuIGxvY2F0b3I9IjI2MzoxMi0yNjM6MzQiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjYzOjEyLTI2MzoyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjYzOjEyLTI2MzoyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjM6MTItMjYzOjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjYzOjMxLTI2MzozNCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1zIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2F0b3I9IjI2Mzo0MS0yNjM6ODciIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNjM6NDEtMjYzOjc4IiB4c2k6dHlwZT0iRGl2aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjYzOjQxLTI2Mzo3MSIgeHNpOnR5cGU9IkRpdmlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2Mzo0MS0yNjM6NjQiIHhzaTp0eXBlPSJEaXZpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNjM6NDEtMjYzOjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjM6NDEtMjYzOjUxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjM6NDEtMjYzOjQ1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjYzOjYxLTI2Mzo2NCIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSI2MC4wIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2Mzo2OC0yNjM6NzEiIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iNjAuMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNjM6NzUtMjYzOjc4IiB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjI0LjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjYzOjgyLTI2Mzo4NyIgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSIxMDAwLjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2F0b3I9IjI2NDo3LTI2NDoxMTIiPgogICAgICAgICAgICAgICAgICA8d2hlbiBsb2NhdG9yPSIyNjQ6MTItMjY0OjM1IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjY0OjEyLTI2NDoyNyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjY0OjEyLTI2NDoyMSIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjQ6MTItMjY0OjE2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iVG9EZWNpbWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjY0OjQyLTI2NDoxMTIiIHhzaTp0eXBlPSJNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNjQ6NTAtMjY0OjUzIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEwMDAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMjY0OjU2LTI2NDo1OSIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBsb2NhdG9yPSIyNjQ6NjItMjY0OjcyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iVW5kZWZpbmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8c2V2ZXJpdHkgbG9jYXRvcj0iMjY0Ojc1LTI2NDo4MSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkVycm9yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8bWVzc2FnZSBsb2NhdG9yPSIyNjQ6ODQtMjY0OjExMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkR1cmF0aW9uIHVuaXQgY29kZSBpcyBudWxsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IlRvRGVjaW1hbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2NToxMi0yNjU6MTA3IiB4c2k6dHlwZT0iTWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjY1OjIwLTI2NToyMyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMDAwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2F0b3I9IjI2NToyNi0yNjU6MjkiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbG9jYXRvcj0iMjY1OjMyLTI2NTo0MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlVuZGVmaW5lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPHNldmVyaXR5IGxvY2F0b3I9IjI2NTo0NS0yNjU6NTEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJFcnJvciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPG1lc3NhZ2UgbG9jYXRvcj0iMjY1OjU0LTI2NToxMDYiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI2NTo1NC0yNjU6ODciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJVbnN1cHBvcnRlZCBkdXJhdGlvbiB1bml0IGNvZGU6ICIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjY1OjkxLTI2NToxMDYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI2NTo5MS0yNjU6MTAwIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI2NTo5MS0yNjU6OTUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L21lc3NhZ2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYXRvcj0iMjUyOjQxLTI1Mjo1MyIgbmFtZT0iZmhpcjpEdXJhdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjIyODoxLTIzNzoxMSIgbmFtZT0iUHJlc2NyaXB0aW9uIFJlbGV2YW50IFBlcmlvZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjI5OjMtMjM3OjExIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICA8Y29uZGl0aW9uIGxvY2F0b3I9IjIyOTo2LTIzMjozIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjMwOjUtMjMwOjg0IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjMwOjUtMjMwOjM5IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjMwOjUtMjMwOjM5IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjMwOjUtMjMwOjI3IiBwYXRoPSJhdXRob3JlZE9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjIzMDo1LTIzMDoxNiIgbmFtZT0icHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzA6NDUtMjMwOjg0IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjMwOjQ1LTIzMDo4NCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIzMDo0NS0yMzA6NzIiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMzA6NDUtMjMwOjU2IiBuYW1lPSJwcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjMxOjExLTIzMTo3MyIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIzMToxMS0yMzE6NzMiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzE6MTEtMjMxOjYxIiBwYXRoPSJleHBlY3RlZFN1cHBseUR1cmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjIzMToxMS0yMzE6MzgiIHBhdGg9ImRpc3BlbnNlUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMzE6MTEtMjMxOjIyIiBuYW1lPSJwcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gbG9jYXRvcj0iMjMzOjgtMjM2OjMiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgPGxvdyBsb2NhdG9yPSIyMzQ6NS0yMzQ6MzciIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM0OjE1LTIzNDozNyIgcGF0aD0iYXV0aG9yZWRPbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMzQ6MTUtMjM0OjI2IiBuYW1lPSJwcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgPGhpZ2ggbG9jYXRvcj0iMjM1OjUtMjM1OjE1MCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIzNTo1LTIzNTozNyIgeHNpOnR5cGU9IkRhdGVGcm9tIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzU6MTUtMjM1OjM3IiBwYXRoPSJhdXRob3JlZE9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjIzNToxNS0yMzU6MjYiIG5hbWU9InByZXNjcmlwdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM1OjQxLTIzNToxNTAiIGNsYXNzVHlwZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iMjM1OjY1LTIzNToxMzQiIG5hbWU9IkdldER1cmF0aW9uSW5EYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMzU6ODMtMjM1OjEzMyIgcGF0aD0iZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyMzU6ODMtMjM1OjExMCIgcGF0aD0iZGlzcGVuc2VSZXF1ZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjIzNTo4My0yMzU6OTQiIG5hbWU9InByZXNjcmlwdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjIzNToxNDMtMjM1OjE0OCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRheXMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjM3OjgtMjM3OjExIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InByZXNjcmlwdGlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIyMjg6NjEtMjI4OjgyIiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjM5OjEtMjQ4OjMiIG5hbWU9IkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyNDA6My0yNDg6MyIgeHNpOnR5cGU9IlN1bSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjQxOjUtMjQ3OjgxIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI0MTo1LTI0NjoyMyIgYWxpYXM9Ik9waW9pZFVzZUludGVydmFsIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjQxOjUtMjQ2OjUiIHhzaTp0eXBlPSJDb2xsYXBzZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0MjoxNi0yNDU6NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyNDM6OS0yNDM6MTAwIiBhbGlhcz0iT3Bpb2lkUHJlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjQzOjktMjQzOjgxIiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjI0MzoyOS0yNDM6ODAiIG5hbWU9Ik9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiBwcmVzZXJ2ZT0idHJ1ZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMjQ0OjktMjQ0Ojg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjQ0OjE2LTI0NDo4NCIgeHNpOnR5cGU9IkludGVyc2VjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NDoxNi0yNDQ6NjciIG5hbWU9IlByZXNjcmlwdGlvbiBSZWxldmFudCBQZXJpb2QiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0NDo0OC0yNDQ6NjUiIG5hbWU9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ0Ojc5LTI0NDo4NCIgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHJlc3VsdFR5cGVOYW1lPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjI0Nzo3LTI0Nzo4MSI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjI0NzoxNC0yNDc6ODEiIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ3OjI3LTI0Nzo1MiIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjQ3OjM2LTI0Nzo1MiIgbmFtZT0iT3Bpb2lkVXNlSW50ZXJ2YWwiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI0Nzo1OC0yNDc6ODEiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNDc6NjUtMjQ3OjgxIiBuYW1lPSJPcGlvaWRVc2VJbnRlcnZhbCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjIzOTo1Ni0yMzk6NjkiIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlIGxvY2F0b3I9IjIzOTo2NS0yMzk6NjgiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjIyMzoxLTIyNjo2MCIgbmFtZT0iUHJlc2NyaWJlZCBPcGlvaWRzIGZvciAyMSBvciBtb3JlIG9mIDMwIERheXMgZm9yIGVhY2ggb2YgdGhlIHBhc3QgMyBNb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyMjQ6My0yMjY6NjAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMjQ6My0yMjU6NjEiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMjQ6My0yMjQ6NTQiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyNDozLTIyNDo0OCIgbmFtZT0iRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyNDozNS0yMjQ6NDciIG5hbWU9IkZpcnN0IE1vbnRoIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyNDo1My0yMjQ6NTQiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjI1OjktMjI1OjYxIiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMjU6OS0yMjU6NTUiIG5hbWU9IkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMjU6NDEtMjI1OjU0IiBuYW1lPSJTZWNvbmQgTW9udGgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjI1OjYwLTIyNTo2MSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyNjo5LTIyNjo2MCIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjI2OjktMjI2OjU0IiBuYW1lPSJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjI2OjQxLTIyNjo1MyIgbmFtZT0iVGhpcmQgTW9udGgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjI2OjU5LTIyNjo2MCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjI3NToxLTI4NDo3IiBuYW1lPSJDb2RpbmdUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjc2OjMtMjg0OjciIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMjc2OjYtMjc2OjIxIiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjc2OjctMjc2OjEyIiBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNzc6OC0yNzc6MTEiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYXRvcj0iMjc5OjUtMjg0OjciIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI3OTo1LTI4MzozNCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjc5OjUtMjgzOjE3IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNzk6NS0yODI6MzQiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI3OTo1LTI4MjoxNyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjc5OjUtMjgxOjMyIiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNzk6NS0yODE6MTYiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI3OTo1LTI4MDoyOCIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjc5OjUtMjgwOjE0IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyNzk6NS0yNzk6MTIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDb2RlIHsiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgwOjctMjgwOjE0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29kZTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODA6MTgtMjgwOjI4IiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI4MDoxOC0yODA6MjMiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4MTo3LTI4MToxNiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InN5c3RlbTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODE6MjAtMjgxOjMyIiBwYXRoPSJzeXN0ZW0iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjgxOjIwLTI4MToyNSIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgyOjctMjgyOjE3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0idmVyc2lvbjogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODI6MjEtMjgyOjM0IiBwYXRoPSJ2ZXJzaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI4MjoyMS0yODI6MjYiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4Mzo3LTI4MzoxNyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRpc3BsYXk6ICIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjgzOjIxLTI4MzozNCIgcGF0aD0iZGlzcGxheSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyODM6MjEtMjgzOjI2IiBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODQ6NS0yODQ6NyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9In0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvZGluZyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIyNzU6MzktMjc1OjQ5IiBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjI4NjoxLTI5NDo5IiBuYW1lPSJDb2RlYWJsZUNvbmNlcHRUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjg3OjMtMjk0OjkiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYXRvcj0iMjg3OjYtMjg3OjQ4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODc6Ny0yODc6MjEiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyODc6Ny0yODc6MTMiIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjg3OjI2LTI4Nzo0NyIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4NzoyNi0yODc6MzkiIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyODc6MjYtMjg3OjMyIiBuYW1lPSJjb25jZXB0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpTdHJpbmciIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI4ODo4LTI4ODoxMSIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhdG9yPSIyOTA6NS0yOTQ6OSIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkwOjUtMjkzOjExIiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTA6NS0yOTI6NzMiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5MDo1LTI5MToxNyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkwOjUtMjkwOjIzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iQ29kZWFibGVDb25jZXB0IHsiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjkxOjctMjkxOjE3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iQ29kaW5nOiBbIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTI6OS0yOTI6NzMiIHhzaTp0eXBlPSJDb21iaW5lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyOTI6MTctMjkyOjY3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjI5MjoxNy0yOTI6MzciIGFsaWFzPSJDb2RpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyOTI6MTctMjkyOjMwIiBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBsb2NhdG9yPSIyOTI6MzktMjkyOjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjkyOjQ2LTI5Mjo2NyIgbmFtZT0iQ29kaW5nVG9TdHJpbmciIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5Mjo2MS0yOTI6NjYiIG5hbWU9IkNvZGluZyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIGxvY2F0b3I9IjI5Mjo3MC0yOTI6NzIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5Mzo5LTI5MzoxMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Il0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjI5NDo3LTI5NDo5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ifSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29uY2VwdCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIyODY6NDktMjg2OjY4IiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjI3MToxLTI3Mjo0NiIgbmFtZT0iQ29kZWFibGVDb25jZXB0c1RvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyNzI6My0yNzI6NDYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMjcyOjMtMjcyOjEyIiBhbGlhcz0iYyI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjI3MjozLTI3MjoxMCIgbmFtZT0iY29uY2VwdHMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2F0b3I9IjI3MjoxNC0yNzI6NDYiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIyNzI6MjEtMjcyOjQ2IiBuYW1lPSJDb2RlYWJsZUNvbmNlcHRUb1N0cmluZyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMjcyOjQ1IiBuYW1lPSJjIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0cyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIyNzE6NTEtMjcxOjc2IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYXRvcj0iMjcxOjU2LTI3MTo3NSIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIyOTY6MS0yOTc6MzkiIG5hbWU9IlRvQ29kZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjI5NzozLTI5NzozOSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSIyOTc6My0yOTc6MTAiIGFsaWFzPSJjIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iMjk3OjMtMjk3OjgiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYXRvcj0iMjk3OjEyLTI5NzozOSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjI5NzoxOS0yOTc6MzkiIG5hbWU9IlRvQ29kZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyOTc6MzgiIG5hbWU9ImMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvZGluZyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSIyOTY6MzItMjk2OjQ4IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYXRvcj0iMjk2OjM3LTI5Njo0NyIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSIyOTk6MS0zMDI6MyIgbmFtZT0iVG9SeE5vcm1Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSIzMDA6My0zMDI6MyIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMDA6MTgtMzAyOjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iMzAxOjUtMzAxOjEyIiBhbGlhcz0iQyI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjMwMTo1LTMwMToxMCIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjMwMToxNC0zMDE6NzUiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMwMToyMC0zMDE6MjciIHBhdGg9InN5c3RlbSIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMwMTozMS0zMDE6NzUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kaW5nIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9IjI5OTozNy0yOTk6NTMiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhdG9yPSIyOTk6NDItMjk5OjUyIiBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K" }, { "contentType": "application/elm+json", - "data": "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvclZlcnNpb24iIDogIjEuNCIsCiAgICAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA3NiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogNzYsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA5OCwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogOTgsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiAxMjAsCiAgICAgICAgICJzdGFydENoYXIiIDogMTQsCiAgICAgICAgICJlbmRMaW5lIiA6IDEyMCwKICAgICAgICAgImVuZENoYXIiIDogOTYsCiAgICAgICAgICJtZXNzYWdlIiA6ICJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIsCiAgICAgICAgICJlcnJvclR5cGUiIDogInNlbWFudGljIiwKICAgICAgICAgImVycm9yU2V2ZXJpdHkiIDogIndhcm5pbmciLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciIKICAgICAgfSwgewogICAgICAgICAibGlicmFyeVN5c3RlbSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIsCiAgICAgICAgICJsaWJyYXJ5SWQiIDogIk9waW9pZENEU0NvbW1vbiIsCiAgICAgICAgICJsaWJyYXJ5VmVyc2lvbiIgOiAiMC4xLjEiLAogICAgICAgICAic3RhcnRMaW5lIiA6IDE0MiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogMTQyLAogICAgICAgICAiZW5kQ2hhciIgOiA5NiwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9LCB7CiAgICAgICAgICJsaWJyYXJ5U3lzdGVtIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiwKICAgICAgICAgImxpYnJhcnlJZCIgOiAiT3Bpb2lkQ0RTQ29tbW9uIiwKICAgICAgICAgImxpYnJhcnlWZXJzaW9uIiA6ICIwLjEuMSIsCiAgICAgICAgICJzdGFydExpbmUiIDogMTY3LAogICAgICAgICAic3RhcnRDaGFyIiA6IDE4LAogICAgICAgICAiZW5kTGluZSIgOiAxNjcsCiAgICAgICAgICJlbmRDaGFyIiA6IDEwMCwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9IF0sCiAgICAgICJpZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAic3lzdGVtIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiwKICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICB9LAogICAgICAic2NoZW1hSWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAidXJuOmhsNy1vcmc6ZWxtIiwKICAgICAgICAgInZlcnNpb24iIDogInIxIgogICAgICB9LAogICAgICAidXNpbmdzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiU3lzdGVtIiwKICAgICAgICAgICAgInVyaSIgOiAidXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOjEtMzoyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImluY2x1ZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU6MS01OjU0IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9GSElSSGVscGVycyIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNjoxLTY6NTYiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJPTVRLTG9naWMiLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PTVRLTG9naWNNSzIwMjAiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMC4xLjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc6MS03OjU5IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiQ29uZmlnIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImNvZGVTeXN0ZW1zIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjk6MS05OjM4IiwKICAgICAgICAgICAgIm5hbWUiIDogIkxPSU5DIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vbG9pbmMub3JnIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwOjEtMTA6NDUiLAogICAgICAgICAgICAibmFtZSIgOiAiU05PTUVEIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vc25vbWVkLmluZm8vc2N0IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAidmFsdWVTZXRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzOjEtMTM6MTYyIiwKICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZCBhbmFsZ2VzaWNzIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1hbmFsZ2VzaWNzLXdpdGgtYW1idWxhdG9yeS1taXN1c2UtcG90ZW50aWFsIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0OjEtMTQ6MTc0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkV4dGVuZGVkIHJlbGVhc2Ugb3Bpb2lkIHdpdGggYW1idWxhdG9yeSBtaXN1c2UgcG90ZW50aWFsIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2V4dGVuZGVkLXJlbGVhc2Utb3Bpb2lkLXdpdGgtYW1idWxhdG9yeS1taXN1c2UtcG90ZW50aWFsIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1OjEtMTU6MTQwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkJ1cHJlbm9ycGhpbmUgYW5kIG1ldGhhZG9uZSBtZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9idXByZW5vcnBoaW5lLWFuZC1tZXRoYWRvbmUtbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTY6MS0xNjoxMjYiLAogICAgICAgICAgICAibmFtZSIgOiAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbm9uLXN5bnRoZXRpYy1vcGlvaWQtbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTk6MS0xOToxMzAiLAogICAgICAgICAgICAibmFtZSIgOiAiTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9saW1pdGVkLWxpZmUtZXhwZWN0YW5jeS1jb25kaXRpb25zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwOjEtMjA6MTM2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRoZXJhcGllcyBpbmRpY2F0aW5nIGVuZCBvZiBsaWZlIGNhcmUiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvdGhlcmFwaWVzLWluZGljYXRpbmctZW5kLW9mLWxpZmUtY2FyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMToxLTIxOjE2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25zIGxpa2VseSB0ZXJtaW5hbCBmb3Igb3Bpb2lkIHByZXNjcmliaW5nIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtbGlrZWx5LXRlcm1pbmFsLWZvci1vcGlvaWQtcHJlc2NyaWJpbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjI6MS0yMjoxMjQiLAogICAgICAgICAgICAibmFtZSIgOiAiQ0RDIG1hbGlnbmFudCBjYW5jZXIgY29uZGl0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jZGMtbWFsaWduYW50LWNhbmNlci1jb25kaXRpb25zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOjEtMjM6MTMxIiwKICAgICAgICAgICAgIm5hbWUiIDogIk9uY29sb2d5IHNwZWNpYWx0eSBkZXNpZ25hdGlvbnMgKE5VQ0MpIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29uY29sb2d5LXNwZWNpYWx0eS1kZXNpZ25hdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ6MS0yNDoxMDgiLAogICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIG1pc3VzZSBkaXNvcmRlcnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLW1pc3VzZS1kaXNvcmRlcnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjU6MS0yNToxMzgiLAogICAgICAgICAgICAibmFtZSIgOiAiU3Vic3RhbmNlIG1pc3VzZSBiZWhhdmlvcmFsIGNvdW5zZWxpbmciLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvc3Vic3RhbmNlLW1pc3VzZS1iZWhhdmlvcmFsLWNvdW5zZWxpbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjY6MS0yNjoxNDAiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9ucyBkb2N1bWVudGluZyBzdWJzdGFuY2UgbWlzdXNlIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbnMtZG9jdW1lbnRpbmctc3Vic3RhbmNlLW1pc3VzZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOToxLTI5Ojg2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9mZmljZSBWaXNpdCIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vZmZpY2UtdmlzaXQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzA6MS0zMDoxMTYiLAogICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGNvdW5zZWxpbmcgcHJvY2VkdXJlIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1jb3Vuc2VsaW5nLXByb2NlZHVyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjoxLTMyOjExNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJCZW56b2RpYXplcGluZSBtZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9iZW56b2RpYXplcGluZS1tZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzoxLTMzOjEyNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJOb24tb3Bpb2lkIGRydWcgdXJpbmUgc2NyZWVuaW5nIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L25vbi1vcGlvaWQtZHJ1Zy11cmluZS1zY3JlZW5pbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ6MS0zNDoxMDIiLAogICAgICAgICAgICAibmFtZSIgOiAiTmFsb3hvbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbmFsb3hvbmUtbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzU6MS0zNToxMzAiLAogICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIG1pc3VzZSBhc3Nlc3NtZW50IHByb2NlZHVyZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtbWlzdXNlLWFzc2Vzc21lbnQtcHJvY2VkdXJlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OjEtMzY6MTE2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtZHJ1Zy11cmluZS1zY3JlZW5pbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzc6MS0zNzoxMDAiLAogICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBEaXNwb3NpdGlvbiIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLWRpc3Bvc2l0aW9uIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM4OjEtMzg6OTgiLAogICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBGaW5kaW5nIENvZGVzIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2hvc3BpY2UtZmluZGluZyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzOToxLTM5OjEwMiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLXByb2NlZHVyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjEyNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPYnNlcnZhdGlvbiBDYXRlZ29yeSBMYWJvcmF0b3J5IiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29ic2VydmF0aW9uLWNhdGVnb3J5LWxhYm9yYXRvcnkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDE6MS00MToxMjIiLAogICAgICAgICAgICAibmFtZSIgOiAiT2JzZXJ2YXRpb24gQ2F0ZWdvcnkgUHJvY2VkdXJlIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29ic2VydmF0aW9uLWNhdGVnb3J5LXByb2NlZHVyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MjoxLTQyOjEwMCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYWluIHRyZWF0bWVudCBwbGFuIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BhaW4tdHJlYXRtZW50LXBsYW4iLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6MS00MzoxMTIiLAogICAgICAgICAgICAibmFtZSIgOiAiUGFpbiBtYW5hZ2VtZW50IHByb2NlZHVyZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wYWluLW1hbmFnZW1lbnQtcHJvY2VkdXJlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjEtNDQ6MTA0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBETVAgcmV2aWV3IHByb2NlZHVyZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wZG1wLXJldmlldy1wcm9jZWR1cmUiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6MS00NToxMTQiLAogICAgICAgICAgICAibmFtZSIgOiAiUERNUCBkYXRhIHJldmlld2VkIGZpbmRpbmciLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGRtcC1kYXRhLXJldmlld2VkLWZpbmRpbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDY6MS00NjoxMTUiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29jYWluZSBVcmluZSBUZXN0cyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb2NhaW5lLXVyaW5lLWRydWctc2NyZWVuaW5nLXRlc3RzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ3OjEtNDc6MTE3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBDUCBVcmluZSBUZXN0cyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9waGVuY3ljbGlkaW5lLXVyaW5lLWRydWctc2NyZWVuaW5nLXRlc3RzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjEtNDk6MTA3IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvbW11bml0eSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9tZWRpY2F0aW9ucmVxdWVzdC1jYXRlZ29yeS1jb21tdW5pdHkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6MS01MDoxMTAiLAogICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIENvbmRpdGlvbiIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tY2xpbmljYWwtc3RhdHVzLWFjdGl2ZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MToxLTUxOjExNyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3Qtc3RhdHVzLWFjdGl2ZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzoxLTUzOjEzOCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tZW5jb3VudGVyLWRpYWdub3Npcy1jYXRlZ29yeSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxLTU0OjEyNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbi1wcm9ibGVtLWxpc3QtY2F0ZWdvcnkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTU6MS01NToxNDQiLAogICAgICAgICAgICAibmFtZSIgOiAiVVMgQ29yZSBIZWFsdGggQ29uY2VybiBDb25kaXRpb24gQ2F0ZWdvcnkiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLXVzLWNvcmUtaGVhbHRoLWNvbmNlcm4tY2F0ZWdvcnkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb250ZXh0cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxLTU5OjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAic3RhdGVtZW50cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxLTU5OjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OToxLTU5OjE1IiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNjM6MS02Nzo2OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWQgT3RoZXIgVGhhbiBTeW50aGV0aWMgT3JkZXJlZCBJbiBMYXN0IDEyIE1vbnRocyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NDozLTY3OjY4IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjMtNjQ6NjIiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjQ6My02NDo1OSIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NDozMy02NDo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgTWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjctNjc6NjgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjEzLTY2OjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MTMtNjU6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTozNy02NTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MTMtNjU6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MjMtNjU6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjM3LTY1OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjY1LTY1OjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTo2NS02NTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MzctNjU6NDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTo2NS02NTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MzctNjU6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MzctNjU6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6NjUtNjU6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjY6MTEtNjY6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NjoxMS02NjoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NjoyOC02NjozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Njo0MS02Nzo2OCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjQyLTY2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Njo0Mi02Njo1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjU5LTY2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MTEtNjc6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MTUtNjc6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MTYtNjc6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NzozMy02Nzo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJOb24tc3ludGhldGljIG9waW9pZCBtZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzU6MS0xMzg6MzYiLAogICAgICAgICAgICAibmFtZSIgOiAiR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE1lZGljYXRpb24gUmVxdWVzdHMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM2OjMtMTM4OjM2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNjozLTEzNjoxMCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzY6My0xMzY6NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6NS0xMzg6MzYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MTEtMTM3OjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MTEtMTM3OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MTEtMTM3OjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM3OjI5LTEzNzozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhY3RpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzODoxMS0xMzg6MzYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzODoxMS0xMzg6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM4OjI2LTEzODozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM1OjY4LTEzNTo5MCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzU6NzMtMTM1Ojg5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2OToxLTg5OjkiLAogICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcwOjMtODk6OSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MDozLTc1OjYiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzA6My03NTozIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjUtNzE6MTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjUtNzE6MTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MTo1MC03MToxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzE6ODAtNzE6MTA1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBNZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjctNzQ6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjEzLTczOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MTMtNzI6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MjozNy03Mjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MTMtNzI6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MjMtNzI6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjM3LTcyOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjY2LTcyOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mjo2Ni03Mjo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6MzctNzI6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzI6NjYtNzI6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjM3LTcyOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjM3LTcyOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcyOjY2LTcyOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjEzLTczOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MTMtNzM6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MzAtNzM6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6NDMtNzQ6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo0My03MzoxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6NDMtNzM6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo2MC03MzoxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc0OjEzLTc0OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NDoxMy03NDoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NDoyOC03NDozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc2OjktNzY6OTYiLAogICAgICAgICAgICAgICAgICAiaWRlbnRpZmllciIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MTQtNzY6OTYiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9MaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MzMtNzY6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MzktNzY6OTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc2OjQ1LTc2Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6NDUtNzY6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Njo0Ni03Njo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Njo2My03Njo3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0b3IiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6OTAtNzY6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjUtNzc6MTA5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxMS03Nzo0MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxNC03Nzo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjE1LTc3OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjMyLTc3OjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Nzo0Ni03NzoxMDkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjQ2LTc3OjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjQ2LTc3OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Nzo1OC03NzoxMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc4OjctODk6OSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjktODk6OSIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDoxNS04MDoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjE5LTgxOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjE5LTgyOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImludGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6MjEtODM6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDoyMy04NDoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg0OjI2LTg0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6MjYtODQ6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NDMtODQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo1OC04NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGaXJzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NjQtODQ6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NjQtODQ6NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo3OS04NDoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo3OS04NDo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo5Ni04NDoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODU6MjAtODU6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3ViamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODY6MjEtODY6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjMwLTg3OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkaXNwZW5zZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODg6MjgtODg6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6MS0xMTE6OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgQW1idWxhdG9yeSBCZW56b2RpYXplcGluZSBSeCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozLTExMTo5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjMtOTc6NiIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozLTk3OjMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NS05MzoxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6NS05MzoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2V0IEFjdGl2ZSBBbWJ1bGF0b3J5IE1lZGljYXRpb24gUmVxdWVzdHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjUwLTkzOjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Mzo4MC05MzoxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6Ny05NjozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MTMtOTU6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDoxMy05NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjM3LTk0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDoxMy05NDozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlRnJvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDoyMy05NDozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MzctOTQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6NjYtOTQ6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjY2LTk0OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDozNy05NDo0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAieWVhcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDo2Ni05NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MzctOTQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MzctOTQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6NjYtOTQ6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6MTMtOTU6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NToxMy05NToyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NTozMC05NTozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NTo0My05NjozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk1OjQzLTk1Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk1OjQzLTk1OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6NjAtOTU6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk2OjEzLTk2OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoxMy05NjoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjoyOC05NjozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjktOTg6OTYiLAogICAgICAgICAgICAgICAgICAiaWRlbnRpZmllciIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6MTQtOTg6OTYiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9MaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6MzMtOTg6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6MzktOTg6OTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjQ1LTk4Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6NDUtOTg6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODo0Ni05ODo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODo2My05ODo3NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0b3IiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTg6OTAtOTg6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjUtOTk6ODUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjExLTk5OjQxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjE0LTk5OjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6MTUtOTk6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6MzItOTk6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk5OjQ2LTk5Ojg1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTo0Ni05OTo1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OTo0Ni05OTo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6NTgtOTk6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDo3LTExMTo5IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAxOjktMTExOjkiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAyOjE1LTEwMjoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMzoxOS0xMDM6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA0OjE5LTEwNDoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNToyMS0xMDU6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6MjMtMTA2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjI2LTEwNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjoyNi0xMDY6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjQzLTEwNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjo1OC0xMDY6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRmlyc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjo2NC0xMDY6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2OjY0LTEwNjo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjo3OS0xMDY6MTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA2Ojc5LTEwNjo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6OTYtMTA2OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3ViamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDc6MjAtMTA3OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlY29yZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwODoyMS0xMDg6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwOTozMC0xMDk6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6MjgtMTEwOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMzoxLTEzMzo5IiwKICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBBbWJ1bGF0b3J5IE5hbG94b25lIFJ4IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDozLTEzMzo5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDozLTExOTo2IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDozLTExOTozIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNTo1LTExNToxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjUtMTE1OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjUwLTExNToxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjgwLTExNToxMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjctMTE4OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MTMtMTE3OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjEzLTExNjo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjozNy0xMTY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjoxMy0xMTY6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjIzLTExNjozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjM3LTExNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjYtMTE2OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjYtMTE2OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6MzctMTE2OjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjo2Ni0xMTY6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjozNy0xMTY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE2OjM3LTExNjo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTY6NjYtMTE2OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzoxMy0xMTc6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTc6MTMtMTE3OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzozMC0xMTc6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjQzLTExODozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzo0My0xMTc6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjQzLTExNzo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzo2MC0xMTc6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTmFsb3hvbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMy0xMTg6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW55SW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODoxMy0xMTg6MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjI4LTExODozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo5LTEyMDo5NiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjA6MTQtMTIwOjk2IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDozMy0xMjA6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjM5LTEyMDo5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTcGxpdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdUb1NwbGl0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjQ1LTEyMDo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo0NS0xMjA6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjA6NDYtMTIwOjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo2My0xMjA6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMDo5MC0xMjA6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTo1LTEyMTo3OSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIxOjExLTEyMTo0MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6MTQtMTIxOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIxOjE1LTEyMToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6MzItMTIxOjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6NDYtMTIxOjc5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6NDYtMTIxOjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTo0Ni0xMjE6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMTo1OC0xMjE6NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTmFsb3hvbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMjo3LTEzMzo5IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIzOjktMTMzOjkiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI0OjE1LTEyNDoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNToxOS0xMjU6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI2OjE5LTEyNjoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNzoyMS0xMjc6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjg6MjMtMTI4OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjI2LTEyODo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODoyNi0xMjg6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjQzLTEyODo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODo1OC0xMjg6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRmlyc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODo2NC0xMjg6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjY0LTEyODo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnlMZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyODo3OS0xMjg6MTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4Ojc5LTEyODo5MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjg6OTYtMTI4OjExMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3ViamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjk6MjAtMTI5OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlY29yZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMDoyMS0xMzA6MzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMTozMC0xMzE6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzI6MjgtMTMyOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MDoxLTE2Mzo3IiwKICAgICAgICAgICAgIm5hbWUiIDogIklzIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWw/IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MTozLTE2Mzo3IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MTozLTE0MToxMCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDE6My0xNDE6NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo5LTE0Mjo5NiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDI6MTQtMTQyOjk2IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MjozMy0xNDI6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQyOjM5LTE0Mjo5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTcGxpdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdUb1NwbGl0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQyOjQ1LTE0Mjo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo0NS0xNDI6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDI6NDYtMTQyOjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo2My0xNDI6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mjo5MC0xNDI6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0Mzo0LTE1MDozNiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0MzoxMC0xNDk6NyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ0OjktMTQ3OjkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDU6MTEtMTQ1OjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NToxNC0xNDU6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDU6MTUtMTQ1OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NTozMi0xNDU6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NjoxNy0xNDY6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ2OjE3LTE0NjoyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NjozNC0xNDY6ODUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDg6MTItMTQ4Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDg6MTItMTQ4OjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0ODoxMi0xNDg6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0ODoyNC0xNDg6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6MTEtMTUwOjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6MTEtMTUwOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MDoyNi0xNTA6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ29tbXVuaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTE6NS0xNjM6NyIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Mjo3LTE2Mzo3IiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MzoxMy0xNTM6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTQ6MTctMTU0OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NToxNy0xNTU6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTY6MTktMTU2OjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU3OjIxLTE1NzoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NzoyNC0xNTc6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6MjQtMTU3OjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Nzo0MS0xNTc6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6NTYtMTU3OjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZpcnN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6NjItMTU3OjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Nzo2Mi0xNTc6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6NzctMTU3OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Nzo3Ny0xNTc6ODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU3Ojk0LTE1NzoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU4OjE4LTE1ODoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdWJqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1OToyMS0xNTk6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYwOjE5LTE2MDoyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWNvcmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYxOjI4LTE2MTo0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MjoyNi0xNjI6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjc5LTE0MDoxMDEiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQwOjg0LTE0MDoxMDAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NTo1LTE4ODoxNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJcyBCZW56b2RpYXplcGluZT8iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY2OjctMTg4OjE1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Njo3LTE2NjoxNCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjY6Ny0xNjY6MTEiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJsZXQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6MTMtMTY3OjEwMCIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6MTgtMTY3OjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0xpc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6MzctMTY3Ojk5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxhc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Nzo0My0xNjc6OTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3BsaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nVG9TcGxpdCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Nzo0OS0xNjc6OTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6NDktMTY3OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY3OjUwLTE2Nzo2MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6NjctMTY3OjgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcGFyYXRvciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6OTQtMTY3Ojk2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjg6OS0xNzU6NDAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjg6MTUtMTc0OjExIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjk6MTMtMTcyOjEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcwOjE1LTE3MDo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzA6MTgtMTcwOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcwOjE5LTE3MDozMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzA6MzYtMTcwOjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzE6MjEtMTcxOjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MToyMS0xNzE6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzE6MzgtMTcxOjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTczOjE2LTE3Mzo1NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbnlJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTczOjE2LTE3MzoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzM6MTYtMTczOjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzM6MjgtMTczOjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc1OjE1LTE3NTo0MCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbnlJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc1OjE1LTE3NToyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzU6MzAtMTc1OjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvbW11bml0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc2OjktMTg4OjE1IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc3OjE1LTE4ODoxNSIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzg6MjEtMTc4OjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc5OjI1LTE3OTozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImludGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODA6MjUtMTgwOjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImludGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgxOjI3LTE4MTozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MjoyOS0xODI6MTE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODI6MzItMTgyOjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgyOjMyLTE4Mjo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODI6NDktMTgyOjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgyOjY0LTE4Mjo3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGaXJzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgyOjcwLTE4Mjo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODI6NzAtMTgyOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeUxldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiJHRoaXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgyOjg1LTE4MjoxMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODI6ODUtMTgyOjk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MjoxMDItMTgyOjExNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3ViamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODM6MjYtMTgzOjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImF1dGhvcmVkT24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg0OjI5LTE4NDo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZWNvcmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODU6MjctMTg1OjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInJlY29yZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODY6MzYtMTg2OjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRvc2FnZUluc3RydWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkaXNwZW5zZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg3OjM0LTE4Nzo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkaXNwZW5zZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjU6NDgtMTY1OjcwIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NTo1My0xNjU6NjkiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNDoxLTIwNzo3OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJVUyBDb3JlLUNhdGVnb3JpemVkIENvbmRpdGlvbnMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA1OjMtMjA3Ojc4IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlVuaW9uIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDU6My0yMDY6NjgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVW5pb24iLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIwNTozLTIwNTo2NyIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA1OjI3LTIwNTo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJFbmNvdW50ZXIgRGlhZ25vc2lzIENvbmRpdGlvbiBDYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA2OjExLTIwNjo2OCIsCiAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA2OjM1LTIwNjo2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQcm9ibGVtIExpc3QgQ29uZGl0aW9uIENhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA3OjExLTIwNzo3OCIsCiAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjA3OjM1LTIwNzo3NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJVUyBDb3JlIEhlYWx0aCBDb25jZXJuIENvbmRpdGlvbiBDYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjA5OjEtMjIwOjMiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9ucyBJbmRpY2F0aW5nIEVuZCBvZiBMaWZlIG9yIFdpdGggTGltaXRlZCBMaWZlIEV4cGVjdGFuY3kiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEwOjMtMjIwOjMiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiVW5pb24iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMDozLTIxNDozIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMTo1LTIxMTozOCIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMTo1LTIxMTozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJVUyBDb3JlLUNhdGVnb3JpemVkIENvbmRpdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEyOjctMjEzOjUwIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEyOjEzLTIxMjo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEyOjEzLTIxMjoxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMjoyMy0yMTI6NzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9ucyBsaWtlbHkgdGVybWluYWwgZm9yIG9waW9pZCBwcmVzY3JpYmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEzOjEzLTIxMzo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEzOjEzLTIxMzoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjbGluaWNhbFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTM6MzMtMjEzOjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBDb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNjozLTIyMDozIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNzo1LTIxNzozOCIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNzo1LTIxNzozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJVUyBDb3JlLUNhdGVnb3JpemVkIENvbmRpdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjctMjE5OjUwIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjEzLTIxODo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjEzLTIxODoxOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODoyMy0yMTg6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTGltaXRlZCBsaWZlIGV4cGVjdGFuY3kgY29uZGl0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE5OjEzLTIxOTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE5OjEzLTIxOToyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjbGluaWNhbFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTk6MzMtMjE5OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBDb25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3MjoyLTM3NDoxMyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJTZXJ2aWNlIFJlcXVlc3RzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3Mzo0LTM3NDoxMyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzM6NC0zNzM6MjIiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlNSIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzczOjQtMzczOjE5IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vU2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzQ6NS0zNzQ6MTMiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNzQ6MTItMzc0OjEzIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNSIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjI6MS0yNTI6MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjM6My0yNTI6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJVbmlvbiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjM6My0yMzI6MyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJVbmlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjM6My0yMjY6MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjQ6NS0yMjQ6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjQ6NS0yMjQ6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUHJvY2VkdXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI0OjI1LTIyNDo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJIb3NwaWNlIFByb2NlZHVyZSBDb2RlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI1OjctMjI1OjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjU6MTMtMjI1OjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjU6MTMtMjI1OjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjU6MzEtMjI1OjYwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNTozMy0yMjU6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaW4tcHJvZ3Jlc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI1OjQ4LTIyNTo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJjb21wbGV0ZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjg6My0yMzI6MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjk6NS0yMjk6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlNSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI5OjUtMjI5OjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNlcnZpY2UgUmVxdWVzdHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMwOjctMjMxOjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMwOjEzLTIzMDo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMwOjEzLTIzMDoxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJTUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzA6MjQtMjMwOjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkhvc3BpY2UgUHJvY2VkdXJlIENvZGVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6MTMtMjMxOjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6MTMtMjMxOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6MTMtMjMxOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiU1IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMxOjMyLTIzMTo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6MzQtMjMxOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImFjdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6NDQtMjMxOjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImNvbXBsZXRlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVuY291bnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJVbmlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNDozLTI0MDozIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6OC0yMzU6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBGaW5kaW5ncyBFeGNsdXNpb24gRW5hYmxlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiQ29uZmlnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNjo3LTIzNzo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzY6Ny0yMzY6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzY6Ny0yMzY6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU9ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNjoyOS0yMzY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBGaW5kaW5nIENvZGVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzc6OS0yMzc6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjE5LTIzNzo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjIwLTIzNzozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjIwLTIzNzoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjM4LTIzNzo4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzc6NDAtMjM3OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInVua25vd24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM3OjUxLTIzNzo2OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJlbnRlcmVkLWluLWVycm9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNzo3MS0yMzc6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiY2FuY2VsbGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOTo3LTIzOTo4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3QiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UHJvY2VkdXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVuY291bnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDI6My0yNTI6MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDM6NS0yNDM6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDM6NS0yNDM6MTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVuY291bnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vRW5jb3VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6Ny0yNTE6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MTMtMjUwOjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MTMtMjQ0OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjM4LTI0NDo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjEzLTI0NDozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlRnJvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MjMtMjQ0OjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MjMtMjQ0OjMwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MzgtMjQ0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDo2Ni0yNDQ6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDo2Ni0yNDQ6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDozOC0yNDQ6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6NjYtMjQ0OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MzgtMjQ0OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDozOC0yNDQ6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0OjY2LTI0NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDU6MTMtMjUwOjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NjoxNC0yNDc6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NjoxNC0yNDY6NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ2OjE0LTI0Njo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NjoxNC0yNDY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzY2hhcmdlRGlzcG9zaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NjoxNC0yNDY6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaG9zcGl0YWxpemF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDc6MTgtMjQ3Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NzoyMi0yNDc6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhpc3RzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ3OjI5LTI0Nzo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NzozMC0yNDc6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzY2hhcmdlRGlzcG9zaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NzozMC0yNDc6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaG9zcGl0YWxpemF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDg6MTgtMjQ4OjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJmYWxzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDk6MTYtMjQ5Ojc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDk6MTYtMjQ5OjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc2NoYXJnZURpc3Bvc2l0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDk6MTYtMjQ5OjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImhvc3BpdGFsaXphdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0OTo1OC0yNDk6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBEaXNwb3NpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjEzLTI1MTo5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjEzLTI1MToyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjEzLTI1MToyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjMxLTI1MTo5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTE6MzMtMjUxOjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInBsYW5uZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjQ0LTI1MTo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhcnJpdmVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1MTo1NS0yNTE6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaW4tcHJvZ3Jlc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUxOjcwLTI1MTo3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJmaW5pc2hlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTE6ODItMjUxOjkwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm9ubGVhdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbmNvdW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1FbmNvdW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MDoxLTE5ODo1IiwKICAgICAgICAgICAgIm5hbWUiIDogIkVuZCBvZiBMaWZlIEFzc2Vzc21lbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkyOjUtMTk4OjUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Mjo1LTE5NDo1IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MjoxMi0xOTQ6NSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25zIEluZGljYXRpbmcgRW5kIG9mIExpZmUgb3IgV2l0aCBMaW1pdGVkIExpZmUgRXhwZWN0YW5jeSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5Njo4LTE5ODo1IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5NjoxNS0xOTg6NSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBZG1pdHRlZC9SZWZlcnJlZC9EaXNjaGFyZ2VkIHRvIEhvc3BpY2UgQ2FyZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3OToxLTI4MDozNiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcmV2aW91cyAxMCBEYXlzIEludGVydmFsIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MDoxLTI4MDozNiIsCiAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6MTAtMjgwOjI2IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6MTAtMjgwOjE2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6MjAtMjgwOjI2IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEwLAogICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAiZGF5cyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MDoyOS0yODA6MzUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODI6MS0yODM6NDgiLAogICAgICAgICAgICAibmFtZSIgOiAiRmlyc3QgTW9udGgiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgzOjEtMjgzOjQ4IiwKICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MzoxMC0yODM6MjciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MzoxMC0yODM6MTYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MzoyMC0yODM6MjciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMywKICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIm1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MzozMC0yODM6NDciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MzozMC0yODM6MzYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Mzo0MC0yODM6NDciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMiwKICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIm1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODU6MS0yODY6NDgiLAogICAgICAgICAgICAibmFtZSIgOiAiU2Vjb25kIE1vbnRoIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4NjoxLTI4Njo0OCIsCiAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MTAtMjg2OjI3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MTAtMjg2OjE2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MjAtMjg2OjI3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDIsCiAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aHMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MzAtMjg2OjQ3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6MzAtMjg2OjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6NDAtMjg2OjQ3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aHMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjg4OjEtMjg5OjM3IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRoaXJkIE1vbnRoIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4OToxLTI4OTozNyIsCiAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODk6MTAtMjg5OjI3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODk6MTAtMjg5OjE2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODk6MjAtMjg5OjI3IiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJtb250aHMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiaGlnaCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODk6MzAtMjg5OjM2IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzIwOjEtMzM0OjMiLAogICAgICAgICAgICAibmFtZSIgOiAiR2V0RHVyYXRpb25JbkRheXMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzIxOjMtMzM0OjMiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMTo2LTMyMToxOCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjE6Ni0zMjE6MTAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyMToyNS0zMjE6MjgiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjM6NS0zMzQ6MyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjctMzI0OjY0IiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjEyLTMyNDozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjQ6MTItMzI0OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjQ6MTItMzI0OjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNDoxMi0zMjQ6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNDozMS0zMjQ6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiYSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjQwLTMyNDo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJNdWx0aXBseSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjQwLTMyNDo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjQwLTMyNDo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjQwLTMyNDo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI0OjYwLTMyNDo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMzY1LjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI1OjctMzI1OjY0IiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI1OjEyLTMyNTozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjU6MTItMzI1OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjU6MTItMzI1OjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNToxMi0zMjU6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTozMS0zMjU6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAibW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTo0MS0zMjU6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTXVsdGlwbHkiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTo0MS0zMjU6NTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTo0MS0zMjU6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTo0MS0zMjU6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNTo2MS0zMjU6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjMwLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI2OjctMzI2OjYzIiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI2OjEyLTMyNjozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjY6MTItMzI2OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjY6MTItMzI2OjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjoxMi0zMjY6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjozMS0zMjY6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAid2siLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjo0MS0zMjY6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTXVsdGlwbHkiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjo0MS0zMjY6NTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjo0MS0zMjY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjo0MS0zMjY6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNjo2MS0zMjY6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjcuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6Ny0zMjc6NTYiLAogICAgICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6MTItMzI3OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWl2YWxlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNzoxMi0zMjc6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyNzoxMi0zMjc6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI3OjEyLTMyNzoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI3OjMxLTMyNzozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6NDAtMzI3OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6NDAtMzI3OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjc6NDAtMzI3OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyODo3LTMyODo2MyIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyODoxMi0zMjg6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1aXZhbGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI4OjEyLTMyODoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI4OjEyLTMyODoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6MTItMzI4OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6MzEtMzI4OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyODo0MC0zMjg6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6NDAtMzI4OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6NDAtMzI4OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6NDAtMzI4OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjg6NjAtMzI4OjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyNC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyOTo3LTMyOTo3MiIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyOToxMi0zMjk6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1aXZhbGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI5OjEyLTMyOToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI5OjEyLTMyOToyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6MTItMzI5OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6MzEtMzI5OjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIm1pbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzI5OjQyLTMyOTo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMyOTo0Mi0zMjk6NjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6NDItMzI5OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6NDItMzI5OjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6NDItMzI5OjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6NjItMzI5OjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI2MC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMjk6NjktMzI5OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyNC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo3LTMzMDo3NyIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDoxMi0zMzA6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1aXZhbGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMwOjEyLTMzMDoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMwOjEyLTMzMDoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzA6MTItMzMwOjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzA6MzEtMzMwOjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo0MC0zMzA6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzA6NDAtMzMwOjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMwOjQwLTMzMDo2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo0MC0zMzA6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo0MC0zMzA6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo0MC0zMzA6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo2MC0zMzA6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjYwLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo2Ny0zMzA6NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjYwLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMDo3NC0zMzA6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjI0LjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMxOjctMzMxOjg3IiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMxOjEyLTMzMTozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6MTItMzMxOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6MTItMzMxOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMToxMi0zMzE6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMTozMS0zMzE6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAibXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMTo0MS0zMzE6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NDEtMzMxOjc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMxOjQxLTMzMTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMTo0MS0zMzE6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NDEtMzMxOjU3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NDEtMzMxOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NDEtMzMxOjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NjEtMzMxOjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI2MC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NjgtMzMxOjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICI2MC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6NzUtMzMxOjc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyNC4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzE6ODItMzMxOjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxMDAwLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMyOjctMzMyOjExMiIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjoxMi0zMzI6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMyOjEyLTMzMjoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMyOjEyLTMzMjoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzI6MTItMzMyOjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvRGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjo0Mi0zMzI6MTEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk1lc3NhZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjo1MC0zMzI6NTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjEwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzI6NTYtMzMyOjU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cnVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjo2Mi0zMzI6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiVW5kZWZpbmVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXZlcml0eSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzI6NzUtMzMyOjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkVycm9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZXNzYWdlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMjo4NC0zMzI6MTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkR1cmF0aW9uIHVuaXQgY29kZSBpcyBudWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjEyLTMzMzoxMDciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTWVzc2FnZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjIwLTMzMzoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMTAwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzoyNi0zMzM6MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjMyLTMzMzo0MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJVbmRlZmluZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInNldmVyaXR5IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzo0NS0zMzM6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiRXJyb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgIm1lc3NhZ2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjU0LTMzMzoxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzo1NC0zMzM6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiVW5zdXBwb3J0ZWQgZHVyYXRpb24gdW5pdCBjb2RlOiAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzMzOjkxLTMzMzoxMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzo5MS0zMzM6MTAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzMzo5MS0zMzM6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzIwOjQxLTMyMDo1MyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1EdXJhdGlvbiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NjoxLTMwNToxMSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NzozLTMwNToxMSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk3OjYtMzAwOjMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTg6NS0yOTg6ODQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTg6NS0yOTg6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk4OjUtMjk4OjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5ODo1LTI5ODoyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTg6NS0yOTg6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5ODo0NS0yOTg6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk4OjQ1LTI5ODo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTg6NDUtMjk4OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk4OjQ1LTI5ODo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5OToxMS0yOTk6NzMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk5OjExLTI5OTo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTk6MTEtMjk5OjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImV4cGVjdGVkU3VwcGx5RHVyYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5OToxMS0yOTk6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTk6MTEtMjk5OjIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDE6OC0zMDQ6MyIsCiAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDI6NS0zMDI6MzciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAyOjE1LTMwMjozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDI6MTUtMzAyOjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMzo1LTMwMzoxNTAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDM6NS0zMDM6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjE1LTMwMzozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDM6MTUtMzAzOjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMzo0MS0zMDM6MTUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjY1LTMwMzoxMzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2V0RHVyYXRpb25JbkRheXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMzo4My0zMDM6MTMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImV4cGVjdGVkU3VwcGx5RHVyYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMzo4My0zMDM6MTEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BlbnNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjgzLTMwMzo5NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInVuaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAzOjE0My0zMDM6MTQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImRheXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDU6OC0zMDU6MTEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAicG9pbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAicHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5Njo2MS0yOTY6ODIiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDc6MS0zMTY6MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDg6My0zMTY6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdW0iLAogICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOTo1LTMxNTo4MSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDk6NS0zMTQ6MjMiLAogICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk9waW9pZFVzZUludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA5OjUtMzE0OjUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29sbGFwc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMDoxNi0zMTM6NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTE6OS0zMTE6MTAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJPcGlvaWRQcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTE6OS0zMTE6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMToyOS0zMTE6ODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTI6OS0zMTI6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTI6MTYtMzEyOjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVyc2VjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzEyOjE2LTMxMjo2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQcmVzY3JpcHRpb24gUmVsZXZhbnQgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTI6NDgtMzEyOjY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZFByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxMjo3OS0zMTI6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0VHlwZU5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9UXVhbnRpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTU6Ny0zMTU6ODEiLAogICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTU6MTQtMzE1OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZWNpc2lvbiIgOiAiRGF5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkR1cmF0aW9uQmV0d2VlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE1OjI3LTMxNTo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdGFydCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxNTozNi0zMTU6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkVXNlSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzE1OjU4LTMxNTo4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMTU6NjUtMzE1OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZFVzZUludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInBlcmlvZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDc6NTYtMzA3OjY5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJwb2ludFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA3OjY1LTMwNzo2OCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURhdGUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MToxLTI5NDo2MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcmVzY3JpYmVkIE9waW9pZHMgZm9yIDIxIG9yIG1vcmUgb2YgMzAgRGF5cyBmb3IgZWFjaCBvZiB0aGUgcGFzdCAzIE1vbnRocyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTI6My0yOTQ6NjAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTI6My0yOTM6NjEiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTI6My0yOTI6NTQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlck9yRXF1YWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MjozLTI5Mjo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkyOjM1LTI5Mjo0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJGaXJzdCBNb250aCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkyOjUzLTI5Mjo1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5Mzo5LTI5Mzo2MSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJHcmVhdGVyT3JFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkzOjktMjkzOjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTM6NDEtMjkzOjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNlY29uZCBNb250aCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkzOjYwLTI5Mzo2MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTQ6OS0yOTQ6NjAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlck9yRXF1YWwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NDo5LTI5NDo1NCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJEYXlzIG9uIE9waW9pZHMgZHVyaW5nIFBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk0OjQxLTI5NDo1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUaGlyZCBNb250aCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk0OjU5LTI5NDo2MCIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0MzoxLTM1Mjo3IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvZGluZ1RvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0NDozLTM1Mjo3IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDQ6Ni0zNDQ6MjEiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ0OjctMzQ0OjEyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDU6OC0zNDU6MTEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDc6NS0zNTI6NyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM1MTozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM1MToxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM1MDozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM1MDoxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM0OTozMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM0OToxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM0ODoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM0ODoxNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0Nzo1LTM0NzoxMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJDb2RlIHsiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ4OjctMzQ4OjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImNvZGU6ICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0ODoxOC0zNDg6MjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ4OjE4LTM0ODoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ5OjctMzQ5OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInN5c3RlbTogIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzQ5OjIwLTM0OTozMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzeXN0ZW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0OToyMC0zNDk6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MDo3LTM1MDoxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ2ZXJzaW9uOiAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTA6MjEtMzUwOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZlcnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MDoyMS0zNTA6MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MTo3LTM1MToxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJkaXNwbGF5OiAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTE6MjEtMzUxOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BsYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1MToyMS0zNTE6MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1Mjo1LTM1Mjo3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIn0iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDM6MzktMzQzOjQ5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NDoxLTM2Mjo5IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvZGVhYmxlQ29uY2VwdFRvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NTozLTM2Mjo5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTU6Ni0zNTU6NDgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3IiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NTo3LTM1NToyMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTU6Ny0zNTU6MTMiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NToyNi0zNTU6NDciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU1OjI2LTM1NTozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1NToyNi0zNTU6MzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTY6OC0zNTY6MTEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTnVsbCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTg6NS0zNjI6OSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1ODo1LTM2MToxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1ODo1LTM2MDo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1ODo1LTM1OToxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1ODo1LTM1ODoyMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJDb2RlYWJsZUNvbmNlcHQgeyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNTk6Ny0zNTk6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiQ29kaW5nOiBbIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MDo5LTM2MDo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb21iaW5lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjA6MTctMzYwOjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MDoxNy0zNjA6MzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MDoxNy0zNjA6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MDozOS0zNjA6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjA6NDYtMzYwOjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvZGluZ1RvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjA6NjEtMzYwOjY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MDo3MC0zNjA6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2MTo5LTM2MToxMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJdIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2Mjo3LTM2Mjo5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIn0iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHQiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzU0OjQ5LTM1NDo2OCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMzk6MS0zNDA6NDYiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29kZWFibGVDb25jZXB0c1RvU3RyaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0MDozLTM0MDo0NiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDA6My0zNDA6MTIiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogImMiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDA6My0zNDA6MTAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29uY2VwdHMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0MDoxNC0zNDA6NDYiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDA6MjEtMzQwOjQ2IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvZGVhYmxlQ29uY2VwdFRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNDA6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiYyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHRzIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzOTo1MS0zMzk6NzYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzM5OjU2LTMzOTo3NSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NDoxLTM2NTozOSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvZGVzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NTozLTM2NTozOSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjU6My0zNjU6MTAiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogImMiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjU6My0zNjU6OCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NToxMi0zNjU6MzkiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjU6MTktMzY1OjM5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NTozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NDozMi0zNjQ6NDgiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY0OjM3LTM2NDo0NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NzoxLTM3MDozIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvUnhOb3JtQ29kZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjg6My0zNzA6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY4OjE4LTM3MDozIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OTo1LTM2OToxMiIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OTo1LTM2OToxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY5OjE0LTM2OTo3NSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjk6MjAtMzY5OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN5c3RlbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OTozMS0zNjk6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaHR0cDovL3d3dy5ubG0ubmloLmdvdi9yZXNlYXJjaC91bWxzL3J4bm9ybSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2NzozNy0zNjc6NTMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzY3OjQyLTM2Nzo1MiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9CiAgIH0KfQ==" + "data": "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvclZlcnNpb24iIDogIjEuNCIsCiAgICAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiAxMDcsCiAgICAgICAgICJzdGFydENoYXIiIDogMTQsCiAgICAgICAgICJlbmRMaW5lIiA6IDEwNywKICAgICAgICAgImVuZENoYXIiIDogOTYsCiAgICAgICAgICJtZXNzYWdlIiA6ICJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIsCiAgICAgICAgICJlcnJvclR5cGUiIDogInNlbWFudGljIiwKICAgICAgICAgImVycm9yU2V2ZXJpdHkiIDogIndhcm5pbmciLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciIKICAgICAgfSBdLAogICAgICAiaWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAiT3Bpb2lkQ0RTQ29tbW9uIiwKICAgICAgICAgInN5c3RlbSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICIwLjEuMSIKICAgICAgfSwKICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICJyMSIKICAgICAgfSwKICAgICAgInVzaW5ncyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzoxLTM6MjYiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSIiwKICAgICAgICAgICAgInVyaSIgOiAiaHR0cDovL2hsNy5vcmcvZmhpciIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJpbmNsdWRlcyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OjEtNTo1NCIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY6MS02OjU2IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiT01US0xvZ2ljIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT01US0xvZ2ljTUsyMDIwIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OjEtNzo1OSIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkNvbmZpZyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU0NvbW1vbkNvbmZpZyIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIwLjEuMSIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb2RlU3lzdGVtcyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOTozOCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJMT0lOQyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2xvaW5jLm9yZyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDoxLTEwOjQ1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlNOT01FRCIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL3Nub21lZC5pbmZvL3NjdCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgInZhbHVlU2V0cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzoxLTEzOjE2MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtYW5hbGdlc2ljcy13aXRoLWFtYnVsYXRvcnktbWlzdXNlLXBvdGVudGlhbCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDoxLTE0OjE3NCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJFeHRlbmRlZCByZWxlYXNlIG9waW9pZCB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9leHRlbmRlZC1yZWxlYXNlLW9waW9pZC13aXRoLWFtYnVsYXRvcnktbWlzdXNlLXBvdGVudGlhbCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNToxLTE1OjE0MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJCdXByZW5vcnBoaW5lIGFuZCBtZXRoYWRvbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvYnVwcmVub3JwaGluZS1hbmQtbWV0aGFkb25lLW1lZGljYXRpb25zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjEtMTY6MTI2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk5vbi1zeW50aGV0aWMgb3Bpb2lkIG1lZGljYXRpb25zIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L25vbi1zeW50aGV0aWMtb3Bpb2lkLW1lZGljYXRpb25zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5OjEtMTk6MTMwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkxpbWl0ZWQgbGlmZSBleHBlY3RhbmN5IGNvbmRpdGlvbnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbGltaXRlZC1saWZlLWV4cGVjdGFuY3ktY29uZGl0aW9ucyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMDoxLTIwOjEzNiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUaGVyYXBpZXMgaW5kaWNhdGluZyBlbmQgb2YgbGlmZSBjYXJlIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3RoZXJhcGllcy1pbmRpY2F0aW5nLWVuZC1vZi1saWZlLWNhcmUiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjE6MS0yMToxNjAiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29uZGl0aW9ucyBsaWtlbHkgdGVybWluYWwgZm9yIG9waW9pZCBwcmVzY3JpYmluZyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb25zLWxpa2VseS10ZXJtaW5hbC1mb3Itb3Bpb2lkLXByZXNjcmliaW5nIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyOjEtMjI6MTI0IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNEQyBtYWxpZ25hbnQgY2FuY2VyIGNvbmRpdGlvbnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY2RjLW1hbGlnbmFudC1jYW5jZXItY29uZGl0aW9ucyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzoxLTIzOjEzMSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPbmNvbG9neSBzcGVjaWFsdHkgZGVzaWduYXRpb25zIChOVUNDKSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vbmNvbG9neS1zcGVjaWFsdHktZGVzaWduYXRpb25zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0OjEtMjQ6MTA4IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZCBtaXN1c2UgZGlzb3JkZXJzIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L29waW9pZC1taXN1c2UtZGlzb3JkZXJzIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OjEtMjU6MTM4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlN1YnN0YW5jZSBtaXN1c2UgYmVoYXZpb3JhbCBjb3Vuc2VsaW5nIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3N1YnN0YW5jZS1taXN1c2UtYmVoYXZpb3JhbC1jb3Vuc2VsaW5nIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2OjEtMjY6MTQwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvbmRpdGlvbnMgZG9jdW1lbnRpbmcgc3Vic3RhbmNlIG1pc3VzZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb25zLWRvY3VtZW50aW5nLXN1YnN0YW5jZS1taXN1c2UiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjk6MS0yOTo4NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPZmZpY2UgVmlzaXQiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb2ZmaWNlLXZpc2l0IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwOjEtMzA6MTE2IiwKICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZCBjb3Vuc2VsaW5nIHByb2NlZHVyZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vcGlvaWQtY291bnNlbGluZy1wcm9jZWR1cmUiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzI6MS0zMjoxMTQiLAogICAgICAgICAgICAibmFtZSIgOiAiQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvYmVuem9kaWF6ZXBpbmUtbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzM6MS0zMzoxMjQiLAogICAgICAgICAgICAibmFtZSIgOiAiTm9uLW9waW9pZCBkcnVnIHVyaW5lIHNjcmVlbmluZyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ub24tb3Bpb2lkLWRydWctdXJpbmUtc2NyZWVuaW5nIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0OjEtMzQ6MTAyIiwKICAgICAgICAgICAgIm5hbWUiIDogIk5hbG94b25lIG1lZGljYXRpb25zIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L25hbG94b25lLW1lZGljYXRpb25zIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM1OjEtMzU6MTMwIiwKICAgICAgICAgICAgIm5hbWUiIDogIk9waW9pZCBtaXN1c2UgYXNzZXNzbWVudCBwcm9jZWR1cmUiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLW1pc3VzZS1hc3Nlc3NtZW50LXByb2NlZHVyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjoxLTM2OjExNiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWQgZHJ1ZyB1cmluZSBzY3JlZW5pbmciLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvb3Bpb2lkLWRydWctdXJpbmUtc2NyZWVuaW5nIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM3OjEtMzc6MTAwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkhvc3BpY2UgRGlzcG9zaXRpb24iLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvaG9zcGljZS1kaXNwb3NpdGlvbiIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODoxLTM4Ojk4IiwKICAgICAgICAgICAgIm5hbWUiIDogIkhvc3BpY2UgRmluZGluZyBDb2RlcyIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9ob3NwaWNlLWZpbmRpbmciLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzk6MS0zOToxMDIiLAogICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvaG9zcGljZS1wcm9jZWR1cmUiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6MS00MDoxMjQiLAogICAgICAgICAgICAibmFtZSIgOiAiT2JzZXJ2YXRpb24gQ2F0ZWdvcnkgTGFib3JhdG9yeSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vYnNlcnZhdGlvbi1jYXRlZ29yeS1sYWJvcmF0b3J5IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQxOjEtNDE6MTIyIiwKICAgICAgICAgICAgIm5hbWUiIDogIk9ic2VydmF0aW9uIENhdGVnb3J5IFByb2NlZHVyZSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9vYnNlcnZhdGlvbi1jYXRlZ29yeS1wcm9jZWR1cmUiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDI6MS00MjoxMDAiLAogICAgICAgICAgICAibmFtZSIgOiAiUGFpbiB0cmVhdG1lbnQgcGxhbiIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9wYWluLXRyZWF0bWVudC1wbGFuIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjEtNDM6MTEyIiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhaW4gbWFuYWdlbWVudCBwcm9jZWR1cmUiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGFpbi1tYW5hZ2VtZW50LXByb2NlZHVyZSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NDoxLTQ0OjEwNCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQRE1QIHJldmlldyBwcm9jZWR1cmUiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGRtcC1yZXZpZXctcHJvY2VkdXJlIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ1OjEtNDU6MTE0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBETVAgZGF0YSByZXZpZXdlZCBmaW5kaW5nIiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L3BkbXAtZGF0YS1yZXZpZXdlZC1maW5kaW5nIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ2OjEtNDY6MTE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIkNvY2FpbmUgVXJpbmUgVGVzdHMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29jYWluZS11cmluZS1kcnVnLXNjcmVlbmluZy10ZXN0cyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NzoxLTQ3OjExNyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQQ1AgVXJpbmUgVGVzdHMiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvcGhlbmN5Y2xpZGluZS11cmluZS1kcnVnLXNjcmVlbmluZy10ZXN0cyIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0OToxLTQ5OjEwNyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnktY29tbXVuaXR5IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjEtNTA6MTEwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBDb25kaXRpb24iLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLWNsaW5pY2FsLXN0YXR1cy1hY3RpdmUiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6MS01MToxMTciLAogICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L21lZGljYXRpb25yZXF1ZXN0LXN0YXR1cy1hY3RpdmUiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTM6MS01MzoxMzgiLAogICAgICAgICAgICAibmFtZSIgOiAiRW5jb3VudGVyIERpYWdub3NpcyBDb25kaXRpb24gQ2F0ZWdvcnkiLAogICAgICAgICAgICAiaWQiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvVmFsdWVTZXQvY29uZGl0aW9uLWVuY291bnRlci1kaWFnbm9zaXMtY2F0ZWdvcnkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6MS01NDoxMjQiLAogICAgICAgICAgICAibmFtZSIgOiAiUHJvYmxlbSBMaXN0IENvbmRpdGlvbiBDYXRlZ29yeSIsCiAgICAgICAgICAgICJpZCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9WYWx1ZVNldC9jb25kaXRpb24tcHJvYmxlbS1saXN0LWNhdGVnb3J5IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjEtNTU6MTQ0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlVTIENvcmUgSGVhbHRoIENvbmNlcm4gQ29uZGl0aW9uIENhdGVnb3J5IiwKICAgICAgICAgICAgImlkIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL1ZhbHVlU2V0L2NvbmRpdGlvbi11cy1jb3JlLWhlYWx0aC1jb25jZXJuLWNhdGVnb3J5IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiY29udGV4dHMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6MS01OToxNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgInN0YXRlbWVudHMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6MS01OToxNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTk6MS01OToxNSIsCiAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjYzOjEtNjc6NjgiLAogICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIE90aGVyIFRoYW4gU3ludGhldGljIE9yZGVyZWQgSW4gTGFzdCAxMiBNb250aHMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjQ6My02Nzo2OCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NDozLTY0OjYyIiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJNUiIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjMtNjQ6NTkiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjQ6MzMtNjQ6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIE1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTo3LTY3OjY4IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9yIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NToxMy02NjozNiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjEzLTY1OjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6MzctNjU6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjEzLTY1OjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRhdGVGcm9tIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjIzLTY1OjM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImF1dGhvcmVkT24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTozNy02NTo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2hDbG9zZWQiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NTo2NS02NTo3MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6NjUtNjU6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjM3LTY1OjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJ5ZWFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6NjUtNjU6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjM3LTY1OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjM3LTY1OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY1OjY1LTY1OjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjExLTY2OjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjY6MTEtNjY6MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJpc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjY6MjgtNjY6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjY6NDEtNjc6NjgiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Njo0Mi02NjoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjY6NDItNjY6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2Njo1OS02NjoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY3OjExLTY3OjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY3OjE1LTY3OjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY3OjE2LTY3OjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIk1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MzMtNjc6NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTm9uLXN5bnRoZXRpYyBvcGlvaWQgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6MS05MzozNiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgTWVkaWNhdGlvbiBSZXF1ZXN0cyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MTozLTkzOjM2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjMtOTE6MTAiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6My05MTo3IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjUtOTM6MzYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjoxMS05MjozNiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6MTEtOTI6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjExLTkyOjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6MjktOTI6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiYWN0aXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MzoxMS05MzozNiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbnlJblZhbHVlU2V0IiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MTEtOTM6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MjYtOTM6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ29tbXVuaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjY4LTkwOjkwIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjczLTkwOjg5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDU6MS0xMjA6NyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJHZXQgTWVkaWNhdGlvblJlcXVlc3QgTWVkaWNhdGlvbiBhcyBDb2RlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjozLTEyMDo3IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNjozLTEwNjoxMCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDY6My0xMDY6NyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzo5LTEwNzo5NiIsCiAgICAgICAgICAgICAgICAgICJpZGVudGlmaWVyIiA6ICJNZWQiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDc6MTQtMTA3Ojk2IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZUNvbXBhcmF0b3IiIDogImluIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzozMy0xMDc6OTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGFzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA3OjM5LTEwNzo5MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTcGxpdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdUb1NwbGl0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA3OjQ1LTEwNzo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzo0NS0xMDc6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDc6NDYtMTA3OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzo2My0xMDc6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwNzo5MC0xMDc6OTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDg6NS0xMjA6NyIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwOTo3LTEyMDo3IiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMDoxMy0xMTA6MTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTE6MTctMTExOjI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMjoxNy0xMTI6MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTM6MTktMTEzOjI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtZWRpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE0OjIxLTExNDoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDoyNC0xMTQ6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTQ6MjQtMTE0OjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDo0MS0xMTQ6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTQ6NTYtMTE0OjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZpcnN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTQ6NjItMTE0OjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDo2Mi0xMTQ6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTWVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5TGV0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIiR0aGlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICIkdGhpcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTQ6NzctMTE0OjEwOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNDo3Ny0xMTQ6ODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE0Ojk0LTExNDoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjE4LTExNToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzdWJqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJhdXRob3JlZE9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNjoyMS0xMTY6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVjb3JkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE3OjE5LTExNzoyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJyZWNvcmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZG9zYWdlSW5zdHJ1Y3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjI4LTExODo0NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkb3NhZ2VJbnN0cnVjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOToyNi0xMTk6NDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTA1OjY2LTEwNTo4OCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDU6NzEtMTA1Ojg3IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2OToxLTc0Ojc5IiwKICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBBbWJ1bGF0b3J5IE9waW9pZCBSeCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MDozLTc0Ojc5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcwOjMtNzI6NiIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MDozLTcyOjMiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2V0IE1lZGljYXRpb25SZXF1ZXN0IE1lZGljYXRpb24gYXMgQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzE6NDgtNzE6MTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MTo5Mi03MToxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo1LTc0Ojc5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MTEtNzM6NzAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MzozNS03Mzo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MTEtNzM6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MjEtNzM6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjM1LTczOjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjY0LTczOjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Mzo2NC03Mzo3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MzUtNzM6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6NjQtNzM6NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjM1LTczOjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjM1LTczOjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjY0LTczOjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc0OjExLTc0Ojc5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc0OjExLTc0OjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzQ6MjgtNzQ6NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MS04MTo1NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgQW1idWxhdG9yeSBCZW56b2RpYXplcGluZSBSeCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzozLTgxOjU1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc3OjMtNzk6NiIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzozLTc5OjMiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2V0IE1lZGljYXRpb25SZXF1ZXN0IE1lZGljYXRpb24gYXMgQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzg6NDgtNzg6MTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODo5Mi03ODoxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo1LTgxOjU1IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6MTEtODA6NzAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDozNS04MDo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6MTEtODA6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6MjEtODA6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjM1LTgwOjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjY0LTgwOjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo2NC04MDo3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6MzUtODA6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6NjQtODA6NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjM1LTgwOjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjM1LTgwOjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjY0LTgwOjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjExLTgxOjU1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjExLTgxOjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6MjgtODE6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQmVuem9kaWF6ZXBpbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiODM6MS04ODo0OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBY3RpdmUgQW1idWxhdG9yeSBOYWxveG9uZSBSeCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDozLTg4OjQ5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg0OjMtODY6NiIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUngiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDozLTg2OjMiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2V0IE1lZGljYXRpb25SZXF1ZXN0IE1lZGljYXRpb24gYXMgQ29kZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODU6NDgtODU6MTExIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBBY3RpdmUgQW1idWxhdG9yeSBNZWRpY2F0aW9uIFJlcXVlc3RzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NTo5Mi04NToxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo1LTg4OjQ5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6MTEtODc6NzAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NzozNS04Nzo0OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6MTEtODc6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZUZyb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6MjEtODc6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjM1LTg3OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjY0LTg3OjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN1YnRyYWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Nzo2NC04Nzo3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6MzUtODc6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogInllYXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODc6NjQtODc6NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjM1LTg3OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjM1LTg3OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg3OjY0LTg3OjcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjExLTg4OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjExLTg4OjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODg6MjgtODg6NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTmFsb3hvbmUgbWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6MS05ODozNiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJJcyBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsPyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NjozLTk4OjM2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk2OjMtOTY6NTYiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTY6My05Njo1MyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJHZXQgTWVkaWNhdGlvblJlcXVlc3QgTWVkaWNhdGlvbiBhcyBDb2RlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5Njo0Ny05Njo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6NS05ODozNiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjExLTk3Ojc5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk3OjExLTk3OjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogIm1lZGljYXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTc6MjgtOTc6NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkIGFuYWxnZXNpY3Mgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjExLTk4OjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODoxMS05ODoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3RpbmN0IiA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5ODoyNi05ODozNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb21tdW5pdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTU6NzktOTU6MTAxIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk1Ojg0LTk1OjEwMCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjEtMTAzOjM2IiwKICAgICAgICAgICAgIm5hbWUiIDogIklzIEJlbnpvZGlhemVwaW5lPyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6My0xMDM6MzYiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAxOjMtMTAxOjU2IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMTozLTEwMTo1MyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJHZXQgTWVkaWNhdGlvblJlcXVlc3QgTWVkaWNhdGlvbiBhcyBDb2RlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDE6NDctMTAxOjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDI6NS0xMDM6MzYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDI6MTEtMTAyOjU1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMjoxMS0xMDI6MjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiUngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZXNldCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDI6MjgtMTAyOjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkJlbnpvZGlhemVwaW5lIG1lZGljYXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDM6MTEtMTAzOjM2IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFueUluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDM6MTEtMTAzOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJSeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzdGluY3QiIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMzoyNi0xMDM6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ29tbXVuaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDo0NC0xMDA6NjYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTAwOjQ5LTEwMDo2NSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTM2OjEtMTM5Ojc4IiwKICAgICAgICAgICAgIm5hbWUiIDogIlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6My0xMzk6NzgiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiVW5pb24iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNzozLTEzODo2OCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJVbmlvbiIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM3OjMtMTM3OjY3IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0NvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzc6MjctMTM3OjY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkVuY291bnRlciBEaWFnbm9zaXMgQ29uZGl0aW9uIENhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzg6MTEtMTM4OjY4IiwKICAgICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0NvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzg6MzUtMTM4OjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlByb2JsZW0gTGlzdCBDb25kaXRpb24gQ2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzk6MTEtMTM5Ojc4IiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db25kaXRpb24iLAogICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0NvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICJjb2RlUHJvcGVydHkiIDogImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzk6MzUtMTM5Ojc3IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlVTIENvcmUgSGVhbHRoIENvbmNlcm4gQ29uZGl0aW9uIENhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDE6MS0xNTI6MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25zIEluZGljYXRpbmcgRW5kIG9mIExpZmUgb3IgV2l0aCBMaW1pdGVkIExpZmUgRXhwZWN0YW5jeSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDI6My0xNTI6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJVbmlvbiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQyOjMtMTQ2OjMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjUtMTQzOjM4IiwKICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQzOjUtMTQzOjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDQ6Ny0xNDU6NTAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDQ6MTMtMTQ0OjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDQ6MTMtMTQ0OjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ0OjIzLTE0NDo3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDb25kaXRpb25zIGxpa2VseSB0ZXJtaW5hbCBmb3Igb3Bpb2lkIHByZXNjcmliaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDU6MTMtMTQ1OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDU6MTMtMTQ1OjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNsaW5pY2FsU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NTozMy0xNDU6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIENvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ4OjMtMTUyOjMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ5OjUtMTQ5OjM4IiwKICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQ5OjUtMTQ5OjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlVTIENvcmUtQ2F0ZWdvcml6ZWQgQ29uZGl0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6Ny0xNTE6NTAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6MTMtMTUwOjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTA6MTMtMTUwOjE4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTUwOjIzLTE1MDo1OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJMaW1pdGVkIGxpZmUgZXhwZWN0YW5jeSBjb25kaXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTE6MTMtMTUxOjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTE6MTMtMTUxOjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNsaW5pY2FsU3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1MTozMy0xNTE6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIENvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzA0OjItMzA2OjEzIiwKICAgICAgICAgICAgIm5hbWUiIDogIlNlcnZpY2UgUmVxdWVzdHMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzA1OjQtMzA2OjEzIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwNTo0LTMwNToyMiIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiU1IiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDU6NC0zMDU6MTkiLAogICAgICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwNjo1LTMwNjoxMyIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwNjoxMi0zMDY6MTMiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU1IiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NDoxLTE4NDozIiwKICAgICAgICAgICAgIm5hbWUiIDogIkFkbWl0dGVkL1JlZmVycmVkL0Rpc2NoYXJnZWQgdG8gSG9zcGljZSBDYXJlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NTozLTE4NDozIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlVuaW9uIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NTozLTE2NDozIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlVuaW9uIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NTozLTE1ODozIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Njo1LTE1Njo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiUCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1Njo1LTE1Njo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UHJvY2VkdXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZVByb3BlcnR5IiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVDb21wYXJhdG9yIiA6ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlcyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTY6MjUtMTU2OjQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkhvc3BpY2UgUHJvY2VkdXJlIENvZGVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJWYWx1ZVNldFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6Ny0xNTc6NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NzoxMy0xNTc6MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NzoxMy0xNTc6MjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJQIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1NzozMS0xNTc6NjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU3OjMzLTE1Nzo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJpbi1wcm9ncmVzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTc6NDgtMTU3OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImNvbXBsZXRlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UHJvY2VkdXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MDozLTE2NDozIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MTo1LTE2MToyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiU1IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjE6NS0xNjE6MjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU2VydmljZSBSZXF1ZXN0cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjI6Ny0xNjM6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjI6MTMtMTYyOjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluVmFsdWVTZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjI6MTMtMTYyOjE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIlNSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlc2V0IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MjoyNC0xNjI6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSG9zcGljZSBQcm9jZWR1cmUgQ29kZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MzoxMy0xNjM6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MzoxMy0xNjM6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MzoxMy0xNjM6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJTUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjM6MzItMTYzOjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MzozNC0xNjM6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiYWN0aXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Mzo0NC0xNjM6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiY29tcGxldGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UHJvY2VkdXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UHJvY2VkdXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RW5jb3VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlVuaW9uIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY2OjMtMTcyOjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2Nzo4LTE2Nzo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJIb3NwaWNlIEZpbmRpbmdzIEV4Y2x1c2lvbiBFbmFibGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDb25maWciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY4OjctMTY5Ojg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2ODo3LTE2ODo1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2ODo3LTE2ODo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9T2JzZXJ2YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY4OjI5LTE2ODo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJIb3NwaWNlIEZpbmRpbmcgQ29kZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlc2VydmUiIDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlZhbHVlU2V0UmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OTo5LTE2OTo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjk6MTktMTY5Ojg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjk6MjAtMTY5OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjk6MjAtMTY5OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiTyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjk6MzgtMTY5OjgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OTo0MC0xNjk6NDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidW5rbm93biIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjk6NTEtMTY5OjY4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImVudGVyZWQtaW4tZXJyb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY5OjcxLTE2OTo4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJjYW5jZWxsZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcxOjctMTcxOjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0aW5jdCIgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJYIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Qcm9jZWR1cmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UHJvY2VkdXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RW5jb3VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NDozLTE4NDozIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NTo1LTE3NToxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NTo1LTE3NToxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9RW5jb3VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9FbmNvdW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3Njo3LTE4Mzo5MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NjoxMy0xODI6OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NjoxMy0xNzY6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzY6MzgtMTc2OjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzY6MTMtMTc2OjM2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRhdGVGcm9tIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NjoyMy0xNzY6MzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NjoyMy0xNzY6MzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAicGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NjozOC0xNzY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc2OjY2LTE3Njo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc2OjY2LTE3Njo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc2OjM4LTE3Njo0MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAieWVhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3Njo2Ni0xNzY6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NjozOC0xNzY6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc2OjM4LTE3Njo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzY6NjYtMTc2OjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NzoxMy0xODI6OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc4OjE0LTE3OTo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc4OjE0LTE3ODo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzg6MTQtMTc4OjU4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc4OjE0LTE3ODo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc4OjE0LTE3ODozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJob3NwaXRhbGl6YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3OToxOC0xNzk6NzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc5OjIyLTE3OTo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzk6MjktMTc5Ojc1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc5OjMwLTE3OTo2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc5OjMwLTE3OTo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJob3NwaXRhbGl6YXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MDoxOC0xODA6MjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImZhbHNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MToxNi0xODE6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5WYWx1ZVNldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MToxNi0xODE6NTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzY2hhcmdlRGlzcG9zaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MToxNi0xODE6MzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaG9zcGl0YWxpemF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJFIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzZXQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgxOjU4LTE4MTo3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJIb3NwaWNlIERpc3Bvc2l0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlIiA6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODM6MTMtMTgzOjkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODM6MTMtMTgzOjI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODM6MTMtMTgzOjIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODM6MzEtMTgzOjkyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4MzozMy0xODM6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAicGxhbm5lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODM6NDQtMTgzOjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImFycml2ZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTgzOjU1LTE4Mzo2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJpbi1wcm9ncmVzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODM6NzAtMTgzOjc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImZpbmlzaGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4Mzo4Mi0xODM6OTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAib25sZWF2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVuY291bnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVByb2NlZHVyZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUVuY291bnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTIyOjEtMTMwOjUiLAogICAgICAgICAgICAibmFtZSIgOiAiRW5kIG9mIExpZmUgQXNzZXNzbWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjQ6NS0xMzA6NSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI0OjUtMTI2OjUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhpc3RzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI0OjEyLTEyNjo1IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNvbmRpdGlvbnMgSW5kaWNhdGluZyBFbmQgb2YgTGlmZSBvciBXaXRoIExpbWl0ZWQgTGlmZSBFeHBlY3RhbmN5IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjgtMTMwOjUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhpc3RzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI4OjE1LTEzMDo1IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFkbWl0dGVkL1JlZmVycmVkL0Rpc2NoYXJnZWQgdG8gSG9zcGljZSBDYXJlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjExOjEtMjEyOjM2IiwKICAgICAgICAgICAgIm5hbWUiIDogIlByZXZpb3VzIDEwIERheXMgSW50ZXJ2YWwiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEyOjEtMjEyOjM2IiwKICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMjoxMC0yMTI6MjYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMjoxMC0yMTI6MTYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxMjoyMC0yMTI6MjYiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMTAsCiAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJkYXlzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjEyOjI5LTIxMjozNSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNDoxLTIxNTo0OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJGaXJzdCBNb250aCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMTU6MS0yMTU6NDgiLAogICAgICAgICAgICAgICAibG93Q2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICJsb3ciIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjEwLTIxNToyNyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjEwLTIxNToxNiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjIwLTIxNToyNyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAzLAogICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAibW9udGhzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjMwLTIxNTo0NyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTdWJ0cmFjdCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjMwLTIxNTozNiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE1OjQwLTIxNTo0NyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAyLAogICAgICAgICAgICAgICAgICAgICAidW5pdCIgOiAibW9udGhzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxNzoxLTIxODo0OCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJTZWNvbmQgTW9udGgiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjE4OjEtMjE4OjQ4IiwKICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODoxMC0yMTg6MjciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODoxMC0yMTg6MTYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODoyMC0yMTg6MjciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMiwKICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIm1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODozMC0yMTg6NDciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODozMC0yMTg6MzYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIxODo0MC0yMTg6NDciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMSwKICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIm1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjA6MS0yMjE6MzciLAogICAgICAgICAgICAibmFtZSIgOiAiVGhpcmQgTW9udGgiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIxOjEtMjIxOjM3IiwKICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMToxMC0yMjE6MjciLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU3VidHJhY3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMToxMC0yMjE6MTYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMToyMC0yMjE6MjciLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogMSwKICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogIm1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWFudGl0eSIKICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJoaWdoIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyMTozMC0yMjE6MzYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTI6MS0yNjY6MyIsCiAgICAgICAgICAgICJuYW1lIiA6ICJHZXREdXJhdGlvbkluRGF5cyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25EZWYiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTM6My0yNjY6MyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJZiIsCiAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUzOjYtMjUzOjE4IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1Mzo2LTI1MzoxMCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFzIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjUzOjI1LTI1MzoyOCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NTo1LTI2NjozIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNhc2UiLAogICAgICAgICAgICAgICAgICAiY2FzZUl0ZW0iIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTY6Ny0yNTY6NjQiLAogICAgICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTY6MTItMjU2OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWl2YWxlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NjoxMi0yNTY6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NjoxMi0yNTY6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU2OjEyLTI1NjoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU2OjMxLTI1NjozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTY6NDAtMjU2OjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk11bHRpcGx5IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTY6NDAtMjU2OjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTY6NDAtMjU2OjUwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTY6NDAtMjU2OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTY6NjAtMjU2OjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIzNjUuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTc6Ny0yNTc6NjQiLAogICAgICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTc6MTItMjU3OjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWl2YWxlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NzoxMi0yNTc6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1NzoxMi0yNTc6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU3OjEyLTI1NzoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU3OjMxLTI1NzozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU3OjQxLTI1Nzo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJNdWx0aXBseSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU3OjQxLTI1Nzo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU3OjQxLTI1Nzo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU3OjQxLTI1Nzo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU3OjYxLTI1Nzo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMzAuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTg6Ny0yNTg6NjMiLAogICAgICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTg6MTItMjU4OjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWl2YWxlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1ODoxMi0yNTg6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1ODoxMi0yNTg6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjEyLTI1ODoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjMxLTI1ODozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ3ayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjQxLTI1ODo2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJNdWx0aXBseSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjQxLTI1ODo1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjQxLTI1ODo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjQxLTI1ODo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU4OjYxLTI1ODo2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiNy4wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OTo3LTI1OTo1NiIsCiAgICAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OToxMi0yNTk6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXF1aXZhbGVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU5OjEyLTI1OToyNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjU5OjEyLTI1OToyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTk6MTItMjU5OjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTk6MzEtMjU5OjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OTo0MC0yNTk6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OTo0MC0yNTk6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI1OTo0MC0yNTk6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYwOjctMjYwOjYzIiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYwOjEyLTI2MDozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjA6MTItMjYwOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjA6MTItMjYwOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MDoxMi0yNjA6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MDozMS0yNjA6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYwOjQwLTI2MDo2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MDo0MC0yNjA6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MDo0MC0yNjA6NTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MDo0MC0yNjA6NDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MDo2MC0yNjA6NjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjI0LjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYxOjctMjYxOjcyIiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYxOjEyLTI2MTozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjE6MTItMjYxOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjE6MTItMjYxOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MToxMi0yNjE6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MTozMS0yNjE6MzUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAibWluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjE6NDItMjYxOjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYxOjQyLTI2MTo2NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MTo0Mi0yNjE6NTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MTo0Mi0yNjE6NTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MTo0Mi0yNjE6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MTo2Mi0yNjE6NjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjYwLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MTo2OS0yNjE6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjI0LjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjctMjYyOjc3IiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjEyLTI2MjozMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFcXVpdmFsZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjI6MTItMjYyOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjI6MTItMjYyOjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MjoxMi0yNjI6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MjozMS0yNjI6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAicyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjQwLTI2Mjo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mjo0MC0yNjI6NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjI6NDAtMjYyOjYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjQwLTI2Mjo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjQwLTI2Mjo1MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjQwLTI2Mjo0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjYwLTI2Mjo2MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiNjAuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjY3LTI2Mjo3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiNjAuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYyOjc0LTI2Mjo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGVjaW1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjQuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjM6Ny0yNjM6ODciLAogICAgICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjM6MTItMjYzOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWl2YWxlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MzoxMi0yNjM6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2MzoxMi0yNjM6MjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYzOjEyLTI2MzoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYzOjMxLTI2MzozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJtcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYzOjQxLTI2Mzo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mzo0MS0yNjM6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGl2aWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjM6NDEtMjYzOjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkRpdmlkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjYzOjQxLTI2Mzo2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEaXZpZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mzo0MS0yNjM6NTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mzo0MS0yNjM6NTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mzo0MS0yNjM6NDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mzo2MS0yNjM6NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjYwLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mzo2OC0yNjM6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjYwLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mzo3NS0yNjM6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjI0LjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2Mzo4Mi0yNjM6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjEwMDAuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjQ6Ny0yNjQ6MTEyIiwKICAgICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY0OjEyLTI2NDozNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjQ6MTItMjY0OjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjQ6MTItMjY0OjIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2NDoxMi0yNjQ6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EZWNpbWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY0OjQyLTI2NDoxMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTWVzc2FnZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY0OjUwLTI2NDo1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMTAwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2NDo1Ni0yNjQ6NTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY0OjYyLTI2NDo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJVbmRlZmluZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNldmVyaXR5IiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI2NDo3NS0yNjQ6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiRXJyb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lc3NhZ2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY0Ojg0LTI2NDoxMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiRHVyYXRpb24gdW5pdCBjb2RlIGlzIG51bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RlY2ltYWwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjU6MTItMjY1OjEwNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJNZXNzYWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjU6MjAtMjY1OjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJjb25kaXRpb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY1OjI2LTI2NToyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiY29kZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjU6MzItMjY1OjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIlVuZGVmaW5lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2V2ZXJpdHkiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY1OjQ1LTI2NTo1MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJFcnJvciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAibWVzc2FnZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjU6NTQtMjY1OjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY1OjU0LTI2NTo4NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJVbnN1cHBvcnRlZCBkdXJhdGlvbiB1bml0IGNvZGU6ICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNjU6OTEtMjY1OjEwNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY1OjkxLTI2NToxMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjY1OjkxLTI2NTo5NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNTI6NDEtMjUyOjUzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUR1cmF0aW9uIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjI4OjEtMjM3OjExIiwKICAgICAgICAgICAgIm5hbWUiIDogIlByZXNjcmlwdGlvbiBSZWxldmFudCBQZXJpb2QiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI5OjMtMjM3OjExIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIklmIiwKICAgICAgICAgICAgICAgImNvbmRpdGlvbiIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjk6Ni0yMzI6MyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMDo1LTIzMDo4NCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMDo1LTIzMDozOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzA6NS0yMzA6MzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSXNOdWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMwOjUtMjMwOjI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImF1dGhvcmVkT24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMDo1LTIzMDoxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMwOjQ1LTIzMDo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzA6NDUtMjMwOjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMDo0NS0yMzA6NzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzA6NDUtMjMwOjU2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMxOjExLTIzMTo3MyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzE6MTEtMjMxOjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMToxMS0yMzE6NjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjMxOjExLTIzMTozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkaXNwZW5zZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMToxMS0yMzE6MjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzMzo4LTIzNjozIiwKICAgICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNDo1LTIzNDozNyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlRnJvbSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzQ6MTUtMjM0OjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImF1dGhvcmVkT24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNDoxNS0yMzQ6MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM1OjUtMjM1OjE1MCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNTo1LTIzNTozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlRnJvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6MTUtMjM1OjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImF1dGhvcmVkT24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNToxNS0yMzU6MjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAicHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM1OjQxLTIzNToxNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6NjUtMjM1OjEzNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJHZXREdXJhdGlvbkluRGF5cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM1OjgzLTIzNToxMzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjM1OjgzLTIzNToxMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGVuc2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6ODMtMjM1Ojk0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidW5pdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzU6MTQzLTIzNToxNDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiZGF5cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzNzo4LTIzNzoxMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICJwb2ludFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI4OjYxLTIyODo4MiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOToxLTI0ODozIiwKICAgICAgICAgICAgIm5hbWUiIDogIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0MDozLTI0ODozIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlN1bSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQxOjUtMjQ3OjgxIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0MTo1LTI0NjoyMyIsCiAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiT3Bpb2lkVXNlSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDE6NS0yNDY6NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2xsYXBzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQyOjE2LTI0NTo3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0Mzo5LTI0MzoxMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIk9waW9pZFByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0Mzo5LTI0Mzo4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAibWVkaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAiaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29kZXMiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQzOjI5LTI0Mzo4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWQgYW5hbGdlc2ljcyB3aXRoIGFtYnVsYXRvcnkgbWlzdXNlIHBvdGVudGlhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVzZXJ2ZSIgOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVmFsdWVTZXRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDo5LTI0NDo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDoxNi0yNDQ6ODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJzZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDQ6MTYtMjQ0OjY3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlByZXNjcmlwdGlvbiBSZWxldmFudCBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NDo0OC0yNDQ6NjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkUHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ0Ojc5LTI0NDo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXN1bHRUeXBlTmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0Nzo3LTI0Nzo4MSIsCiAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0NzoxNC0yNDc6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAicHJlY2lzaW9uIiA6ICJEYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRHVyYXRpb25CZXR3ZWVuIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDc6MjctMjQ3OjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjQ3OjM2LTI0Nzo1MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJPcGlvaWRVc2VJbnRlcnZhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNDc6NTgtMjQ3OjgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI0Nzo2NS0yNDc6ODEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiT3Bpb2lkVXNlSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAicGVyaW9kIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIzOTo1Ni0yMzk6NjkiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgInBvaW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMzk6NjUtMjM5OjY4IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjIzOjEtMjI2OjYwIiwKICAgICAgICAgICAgIm5hbWUiIDogIlByZXNjcmliZWQgT3Bpb2lkcyBmb3IgMjEgb3IgbW9yZSBvZiAzMCBEYXlzIGZvciBlYWNoIG9mIHRoZSBwYXN0IDMgTW9udGhzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNDozLTIyNjo2MCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNDozLTIyNTo2MSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNDozLTIyNDo1NCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJHcmVhdGVyT3JFcXVhbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI0OjMtMjI0OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjQ6MzUtMjI0OjQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkZpcnN0IE1vbnRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjQ6NTMtMjI0OjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI1OjktMjI1OjYxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkdyZWF0ZXJPckVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjU6OS0yMjU6NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGF5cyBvbiBPcGlvaWRzIGR1cmluZyBQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNTo0MS0yMjU6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU2Vjb25kIE1vbnRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjU6NjAtMjI1OjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjIyNjo5LTIyNjo2MCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJHcmVhdGVyT3JFcXVhbCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjI2OjktMjI2OjU0IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkRheXMgb24gT3Bpb2lkcyBkdXJpbmcgUGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjY6NDEtMjI2OjUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRoaXJkIE1vbnRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyMjY6NTktMjI2OjYwIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjc1OjEtMjg0OjciLAogICAgICAgICAgICAibmFtZSIgOiAiQ29kaW5nVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc2OjMtMjg0OjciLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3Njo2LTI3NjoyMSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzY6Ny0yNzY6MTIiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3Nzo4LTI3NzoxMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3OTo1LTI4NDo3IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc5OjUtMjgzOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc5OjUtMjgzOjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc5OjUtMjgyOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc5OjUtMjgyOjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc5OjUtMjgxOjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc5OjUtMjgxOjE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc5OjUtMjgwOjI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc5OjUtMjgwOjE0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjc5OjUtMjc5OjEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkNvZGUgeyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6Ny0yODA6MTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiY29kZTogIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgwOjE4LTI4MDoyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODA6MTgtMjgwOjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODE6Ny0yODE6MTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAic3lzdGVtOiAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODE6MjAtMjgxOjMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInN5c3RlbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgxOjIwLTI4MToyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgyOjctMjgyOjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInZlcnNpb246ICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MjoyMS0yODI6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAidmVyc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgyOjIxLTI4MjoyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgzOjctMjgzOjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImRpc3BsYXk6ICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvYWxlc2NlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4MzoyMS0yODM6MzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiZGlzcGxheSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjgzOjIxLTI4MzoyNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg0OjUtMjg0OjciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAifSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29kaW5nIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3NTozOS0yNzU6NDkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kaW5nIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjg2OjEtMjk0OjkiLAogICAgICAgICAgICAibmFtZSIgOiAiQ29kZWFibGVDb25jZXB0VG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg3OjMtMjk0OjkiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSWYiLAogICAgICAgICAgICAgICAiY29uZGl0aW9uIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Nzo2LTI4Nzo0OCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg3OjctMjg3OjIxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIklzTnVsbCIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4Nzo3LTI4NzoxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg3OjI2LTI4Nzo0NyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJc051bGwiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODc6MjYtMjg3OjM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjg3OjI2LTI4NzozMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAiYXNUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI4ODo4LTI4ODoxMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOdWxsIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICJlbHNlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MDo1LTI5NDo5IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkwOjUtMjkzOjExIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkwOjUtMjkyOjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkwOjUtMjkxOjE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkwOjUtMjkwOjIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIkNvZGVhYmxlQ29uY2VwdCB7IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29hbGVzY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MTo3LTI5MToxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJDb2Rpbmc6IFsiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkyOjktMjkyOjczIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbWJpbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5MjoxNy0yOTI6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkyOjE3LTI5MjozNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiQ29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkyOjE3LTI5MjozMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkyOjM5LTI5Mjo2NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5Mjo0Ni0yOTI6NjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ29kaW5nVG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5Mjo2MS0yOTI6NjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ29kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0b3IiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkyOjcwLTI5Mjo3MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjkzOjktMjkzOjExIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIl0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb2FsZXNjZSIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk0OjctMjk0OjkiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAifSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29uY2VwdCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyODY6NDktMjg2OjY4IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MToxLTI3Mjo0NiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDb2RlYWJsZUNvbmNlcHRzVG9TdHJpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjcyOjMtMjcyOjQ2IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MjozLTI3MjoxMiIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiYyIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MjozLTI3MjoxMCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb25jZXB0cyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjcyOjE0LTI3Mjo0NiIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3MjoyMS0yNzI6NDYiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQ29kZWFibGVDb25jZXB0VG9TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI3Mjo0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAibmFtZSIgOiAiY29uY2VwdHMiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjcxOjUxLTI3MTo3NiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyNzE6NTYtMjcxOjc1IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjk2OjEtMjk3OjM5IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29kZXMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk3OjMtMjk3OjM5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NzozLTI5NzoxMCIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiYyIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NzozLTI5Nzo4IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk3OjEyLTI5NzozOSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5NzoxOS0yOTc6MzkiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db2RlIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk3OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk2OjMyLTI5Njo0OCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTY6MzctMjk2OjQ3IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjk5OjEtMzAyOjMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9SeE5vcm1Db2RlIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMDozLTMwMjozIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDA6MTgtMzAyOjMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAxOjUtMzAxOjEyIiwKICAgICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAxOjUtMzAxOjEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzMDE6MTQtMzAxOjc1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkVxdWFsIiwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjMwMToyMC0zMDE6MjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJDIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMzAxOjMxLTMwMTo3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjk5OjM3LTI5OTo1MyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTk6NDItMjk5OjUyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0KICAgfQp9" } ] } \ No newline at end of file diff --git a/input/resources/library/OpioidCDSREC04PatientView.json b/input/resources/library/OpioidCDSREC04PatientView.json index 1fd0104e..a8e4d363 100644 --- a/input/resources/library/OpioidCDSREC04PatientView.json +++ b/input/resources/library/OpioidCDSREC04PatientView.json @@ -52,10 +52,6 @@ "type": "depends-on", "display": "Value set Community", "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-category-community" - }, { - "type": "depends-on", - "display": "Value set Active MedicationRequest", - "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" }, { "type": "depends-on", "display": "Value set Opioid analgesics with ambulatory misuse potential", @@ -161,22 +157,6 @@ "dataRequirement": [ { "type": "Patient", "profile": [ "http://hl7.org/fhir/StructureDefinition/Patient" ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] }, { "type": "Medication", "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], @@ -184,14 +164,17 @@ "codeFilter": [ { "path": "id" } ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "mustSupport": [ "authoredOn", "medication" ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "Condition", "profile": [ "http://hl7.org/fhir/StructureDefinition/Condition" ], @@ -239,6 +222,10 @@ "type": "Encounter", "profile": [ "http://hl7.org/fhir/StructureDefinition/Encounter" ], "mustSupport": [ "period", "period.start", "status", "status.value" ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], + "mustSupport": [ "authoredOn", "medication" ] } ], "content": [ { "contentType": "text/cql", diff --git a/input/resources/library/OpioidCDSREC05.json b/input/resources/library/OpioidCDSREC05.json index 2d39fe5c..e34db68d 100644 --- a/input/resources/library/OpioidCDSREC05.json +++ b/input/resources/library/OpioidCDSREC05.json @@ -96,10 +96,6 @@ "type": "depends-on", "display": "Value set Community", "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-category-community" - }, { - "type": "depends-on", - "display": "Value set Active MedicationRequest", - "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" }, { "type": "depends-on", "display": "Value set Encounter Diagnosis Condition Category", @@ -242,35 +238,11 @@ } ] }, { "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "Condition", "profile": [ "http://hl7.org/fhir/StructureDefinition/Condition" ], diff --git a/input/resources/library/OpioidCDSREC08.json b/input/resources/library/OpioidCDSREC08.json index 6bd75fcf..e0786d8c 100644 --- a/input/resources/library/OpioidCDSREC08.json +++ b/input/resources/library/OpioidCDSREC08.json @@ -92,10 +92,6 @@ "type": "depends-on", "display": "Value set Community", "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-category-community" - }, { - "type": "depends-on", - "display": "Value set Active MedicationRequest", - "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" }, { "type": "depends-on", "display": "Value set Benzodiazepine medications", @@ -278,66 +274,18 @@ } ] }, { "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "Condition", "profile": [ "http://hl7.org/fhir/StructureDefinition/Condition" ], @@ -379,35 +327,11 @@ "mustSupport": [ "status", "intent", "authoredOn", "code" ] }, { "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "Procedure", "profile": [ "http://hl7.org/fhir/StructureDefinition/Procedure" ], @@ -424,6 +348,22 @@ "type": "Encounter", "profile": [ "http://hl7.org/fhir/StructureDefinition/Encounter" ], "mustSupport": [ "period", "period.start", "status", "status.value" ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], + "mustSupport": [ "authoredOn", "medication" ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], + "mustSupport": [ "authoredOn", "medication" ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], + "mustSupport": [ "authoredOn", "medication" ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], + "mustSupport": [ "authoredOn", "medication" ] } ], "content": [ { "contentType": "text/cql", diff --git a/input/resources/library/OpioidCDSREC10PatientView.json b/input/resources/library/OpioidCDSREC10PatientView.json index 6fad09b0..3cc57d8f 100644 --- a/input/resources/library/OpioidCDSREC10PatientView.json +++ b/input/resources/library/OpioidCDSREC10PatientView.json @@ -64,10 +64,6 @@ "type": "depends-on", "display": "Value set Community", "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-category-community" - }, { - "type": "depends-on", - "display": "Value set Active MedicationRequest", - "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" }, { "type": "depends-on", "display": "Value set Opioid analgesics with ambulatory misuse potential", @@ -185,22 +181,6 @@ "dataRequirement": [ { "type": "Patient", "profile": [ "http://hl7.org/fhir/StructureDefinition/Patient" ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] }, { "type": "Medication", "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], @@ -208,14 +188,17 @@ "codeFilter": [ { "path": "id" } ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "mustSupport": [ "authoredOn", "medication" ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "Condition", "profile": [ "http://hl7.org/fhir/StructureDefinition/Condition" ], @@ -295,6 +278,10 @@ "type": "Encounter", "profile": [ "http://hl7.org/fhir/StructureDefinition/Encounter" ], "mustSupport": [ "period", "period.start", "status", "status.value" ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "Observation", "profile": [ "http://hl7.org/fhir/StructureDefinition/Observation" ], @@ -325,9 +312,9 @@ "data": "bGlicmFyeSBPcGlvaWRDRFNSRUMxMFBhdGllbnRWaWV3IHZlcnNpb24gJzAuMS4xJwoKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE9waW9pZENEU0NvbW1vbiB2ZXJzaW9uICcwLjEuMScgY2FsbGVkIENvbW1vbgppbmNsdWRlIE9waW9pZENEU1JFQzEwQ29tbW9uIHZlcnNpb24gJzAuMS4xJyBjYWxsZWQgUmVjMTBDb21tb24KaW5jbHVkZSBPcGlvaWRDRFNDb21tb25Db25maWcgdmVyc2lvbiAnMC4xLjEnIGNhbGxlZCBDb25maWcKaW5jbHVkZSBPcGlvaWRDRFNSb3V0aW5lcyB2ZXJzaW9uICcwLjEuMScgY2FsbGVkIFJvdXRpbmVzCgpjb2RlICJVcmluZSBEcnVnIFNjcmVlbmluZyI6ICczMTA2MjcwMDgnIGZyb20gQ29tbW9uLlNOT01FRCBkaXNwbGF5ICdVcmluZSBkcnVnIHNjcmVlbmluZyAocHJvY2VkdXJlKScKCi8qCioqICBSZWNvbW1lbmRhdGlvbiAjMTAKKiogICAgV2hlbiBwcmVzY3JpYmluZyBvcGlvaWRzIGZvciBjaHJvbmljIHBhaW4sIHByb3ZpZGVycyBzaG91bGQgdXNlIHVyaW5lIGRydWcKKiogICAgdGVzdGluZyBiZWZvcmUgc3RhcnRpbmcgb3Bpb2lkIHRoZXJhcHkgYW5kIGNvbnNpZGVyIHVyaW5lIGRydWcgdGVzdGluZyBhdAoqKiAgICBsZWFzdCBhbm51YWxseSB0byBhc3Nlc3MgZm9yIHByZXNjcmliZWQgbWVkaWNhdGlvbnMgYXMgd2VsbCBhcyBvdGhlciBjb250cm9sbGVkCioqICAgIHByZXNjcmlwdGlvbiBkcnVncyBhbmQgaWxsaWNpdCBkcnVncyAocmVjb21tZW5kYXRpb24gY2F0ZWdvcnk6IEIsIGV2aWRlbmNlIHR5cGU6IDQpCioqCioqICBXaGVuCioqICAgIFByb3ZpZGVyIGlzIHByZXNjcmliaW5nIGFuIG9waW9pZCBhbmFsZ2VzaWMgd2l0aCBhbWJ1bGF0b3J5IG1pc3VzZSBwb3RlbnRpYWwgaW4gdGhlIG91dHBhdGllbnQgc2V0dGluZwoqKiAgICBQcmVzY3JpcHRpb24gaXMgZm9yIHRyZWF0aW5nIGNocm9uaWMgcGFpbi4KKiogICAgT3Bpb2lkIHJldmlldyBpcyB1c2VmdWwgZm9yIHRoaXMgcGF0aWVudDoKKiogICAgICBQYXRpZW50IGlzIDE4IG9yIG92ZXIKKiogICAgICBQYXRpZW50IGRvZXMgbm90IGhhdmUgZmluZGluZ3MgaW5kaWNhdGluZyBsaW1pdGVkIGxpZmUgZXhwZWN0YW5jeQoqKiAgICAgIFBhdGllbnQgZG9lcyBub3QgaGF2ZSBvcmRlcnMgZm9yIHRoZXJhcGllcyBpbmRpY2F0aW5nIGVuZCBvZiBsaWZlIGNhcmUKKiogICAgICBQYXRpZW50IGlzIG5vdCB1bmRlcmdvaW5nIGFjdGl2ZSBjYW5jZXIgdHJlYXRtZW50OgoqKiAgICAgICAgUGF0aWVudCBoYXMgaGFkIGF0IGxlYXN0IDIgZW5jb3VudGVycyB3aXRoaW4gdGhlIHBhc3QgeWVhciB3aXRoIGFueSBkaWFnbm9zaXMgb2YgY2FuY2VyCioqICAgIFVyaW5lIGRydWcgc2NyZWVuaW5nIGhhcyBub3QgYmVlbiBwZXJmb3JtZWQgaW4gbGFzdCAxMiBtb250aHMKKiogIFRoZW4KKiogICAgUmVjb21tZW5kIHVyaW5lIGRydWcgc2NyZWVuaW5nCioqICAgICAgV2lsbCBwZXJmb3JtIHVyaW5lIHNjcmVlbmluZwoqKiAgICAgIE5vdCBmb3IgY2hyb25pYyBwYWluIG1hbmFnZW1lbnQsIHNub296ZSAzIG1vbnRocwoqKiAgICAgIE4vQSAtIHNlZSBjb21tZW50LCBzbm9vemUgMyBtb250aHMKKioKKi8KCi8vIE1FVEE6IFBsYW4gRGVmaW5pdGlvbjogaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy1yNC9QbGFuRGVmaW5pdGlvbi9vcGlvaWQtY2RzLTEwLXBhdGllbnQtdmlldwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkNocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnMiOgogIENvbW1vbi4iQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiBBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uCiAgICB3aGVyZSBSb3V0aW5lcy4iSXMgQ2hyb25pYyBQYWluIFByZXNjcmlwdGlvbj8iKEFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb24pCgpkZWZpbmUgIlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIjoKICBleGlzdHMgKCJDaHJvbmljIFBhaW4gT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCBQcmVzY3JpcHRpb25zIikKCmRlZmluZSAiSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyI6CiAgIlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIgogICAgYW5kIFJlYzEwQ29tbW9uLiJJbmNsdXNpb24gQ3JpdGVyaWEiCiAgICBhbmQgbm90IFJlYzEwQ29tbW9uLiJFeGNsdXNpb24gQ3JpdGVyaWEiCgpkZWZpbmUgIkFwcGxpY2FibGUgQmVjYXVzZSBvZiBQb3NpdGl2ZSBDb2NhaW5lIG9yIFBDUCBvciBPcGlhdGVzIjoKICBSZWMxMENvbW1vbi4iQXBwbGljYWJsZSBCZWNhdXNlIG9mIFBvc2l0aXZlIENvY2FpbmUgb3IgUENQIG9yIE9waWF0ZXMiCgpkZWZpbmUgIlVyaW5lIERydWcgU2NyZWVuaW5nIFByb2NlZHVyZVJlcXVlc3QgQ2F0ZWdvcnkiOgogIFJlYzEwQ29tbW9uLiJVcmluZSBEcnVnIFNjcmVlbmluZyBQcm9jZWR1cmVSZXF1ZXN0IENhdGVnb3J5IgoKZGVmaW5lICJEZXRhaWwiOgogIFJlYzEwQ29tbW9uLiJHZXQgRGV0YWlsIiAoIklzIFBlcmZvcm0gRHJ1ZyBTY3JlZW4gUmVjb21tZW5kYXRpb24gQXBwbGljYWJsZT8iKQoKZGVmaW5lICJJbmRpY2F0b3IiOgogIFJlYzEwQ29tbW9uLiJJbmRpY2F0b3IiCgpkZWZpbmUgIlN1bW1hcnkiOgogIFJlYzEwQ29tbW9uLiJHZXQgU3VtbWFyeSIgKCJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IikKCi8vIFNlcnZpY2UgUmVxdWVzdCAtIFVyaW5lIFNjcmVlbmluZwovLyBEZXRlY3RlZCBJc3N1ZSAtIE9waW9pZHMgZm91bmQgaW4gdXJpbmUgc2NyZWVuaW5nCi8vIERldGVjdGVkIElzc3VlIC0gSWxsaWNpdCBkcnVncyBmb3VuZCBpbiB1cmluZSBzY3JlZW5pbmcKCmRlZmluZSAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmcgUmVxdWVzdCI6CiAgICBTZXJ2aWNlUmVxdWVzdCB7CiAgICAgIC8vaWRlbnRpZmllcjosCiAgICAgIGluc3RhbnRpYXRlc0Nhbm9uaWNhbDogeyBGSElSLmNhbm9uaWNhbCB7IHZhbHVlOiAnaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvYWN0aXZpdHlkZWZpbml0aW9uL3VyaW5lLXNjcmVlbmluZy1yZXF1ZXN0JyB9IH0sCiAgICAgIHN0YXR1czogRkhJUi5TZXJ2aWNlUmVxdWVzdFN0YXR1cyB7IHZhbHVlOiAnZHJhZnQnIH0sCiAgICAgIGludGVudDogRkhJUi5TZXJ2aWNlUmVxdWVzdEludGVudCB7IHZhbHVlOiAncHJvcG9zYWwnIH0sCiAgICAgIHByaW9yaXR5OiBGSElSLlNlcnZpY2VSZXF1ZXN0UHJpb3JpdHkgeyB2YWx1ZTogJ3JvdXRpbmUnIH0sCiAgICAgIGNvZGU6IEZISVIuQ29kZWFibGVDb25jZXB0IHsgY29kaW5nOiB7IFRvQ29kaW5nKCJVcmluZSBEcnVnIFNjcmVlbmluZyIpIH0gfSwKICAgICAgc3ViamVjdDogRkhJUi5SZWZlcmVuY2UgeyByZWZlcmVuY2U6IEZISVIuc3RyaW5nIHsgdmFsdWU6ICdQYXRpZW50LycgKyBQYXRpZW50LmlkIH0gfSwKICAgICAgb2NjdXJyZW5jZTogRkhJUi5QZXJpb2QgeyBzdGFydDogRkhJUi5kYXRlVGltZSB7IHZhbHVlOiBUb2RheSgpIH0sIGVuZDogRkhJUi5kYXRlVGltZSB7IHZhbHVlOiBUb2RheSgpICsgNyBkYXlzIH0gfSwKICAgICAgYXV0aG9yZWRPbjogRkhJUi5kYXRlVGltZSB7IHZhbHVlOiBOb3coKSB9LAogICAgICByZWFzb25Db2RlOiB7IEZISVIuQ29kZWFibGVDb25jZXB0IHsgdGV4dDogRkhJUi5zdHJpbmcgeyB2YWx1ZTogIkRldGFpbCIgfSB9IH0KICAgICAgLy8gZG9lc24ndCByZWFsbHkgd29yaywgbmVlZCBhIHJlbGF0ZWRBcnRpZmFjdCBoZXJlLi4uCiAgICAgIC8vcmVhc29uQ29kZTogeyBGSElSLkNvZGVhYmxlQ29uY2VwdCB7IHRleHQ6IEZISVIuc3RyaW5nIHsgdmFsdWU6ICdodHRwczovL3d3dy5jZGMuZ292L21td3Ivdm9sdW1lcy82NS9yci9ycjY1MDFlMS5odG0jMTBfV2hlbl9wcmVzY3JpYmluZ19vcGlvaWRzJyB9IH0gfQogICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29kaW5nKGNvZGUgU3lzdGVtLkNvZGUpOgogIEZISVIuQ29kaW5nIHsKICAgIGNvZGU6IEZISVIuY29kZSB7IHZhbHVlOiBjb2RlLmNvZGUgfSwKICAgIHN5c3RlbTogRkhJUi51cmkgeyB2YWx1ZTogY29kZS5zeXN0ZW0gfSwKICAgIHZlcnNpb246IEZISVIuc3RyaW5nIHsgdmFsdWU6IGNvZGUudmVyc2lvbiB9LAogICAgZGlzcGxheTogRkhJUi5zdHJpbmcgeyB2YWx1ZTogY29kZS5kaXNwbGF5IH0KICB9Cgo=" }, { "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjQiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSI3NiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iNzYiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9Ijk4IiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSI5OCIgZW5kQ2hhcj0iOTYiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIGxpYnJhcnlTeXN0ZW09Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiIGxpYnJhcnlJZD0iT3Bpb2lkQ0RTQ29tbW9uIiBsaWJyYXJ5VmVyc2lvbj0iMC4xLjEiIHN0YXJ0TGluZT0iMTIwIiBzdGFydENoYXI9IjE0IiBlbmRMaW5lPSIxMjAiIGVuZENoYXI9Ijk2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBsaWJyYXJ5U3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiBsaWJyYXJ5SWQ9Ik9waW9pZENEU0NvbW1vbiIgbGlicmFyeVZlcnNpb249IjAuMS4xIiBzdGFydExpbmU9IjE0MiIgc3RhcnRDaGFyPSIxNCIgZW5kTGluZT0iMTQyIiBlbmRDaGFyPSI5NiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSIxNjciIHN0YXJ0Q2hhcj0iMTgiIGVuZExpbmU9IjE2NyIgZW5kQ2hhcj0iMTAwIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8aWRlbnRpZmllciBpZD0iT3Bpb2lkQ0RTUkVDMTBQYXRpZW50VmlldyIgc3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiB2ZXJzaW9uPSIwLjEuMSIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjM6MS0zOjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iNC4wLjEiLz4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhdG9yPSI1OjEtNTo1NCIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI2OjEtNjo1MyIgbG9jYWxJZGVudGlmaWVyPSJDb21tb24iIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uIiB2ZXJzaW9uPSIwLjEuMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9Ijc6MS03OjYzIiBsb2NhbElkZW50aWZpZXI9IlJlYzEwQ29tbW9uIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU1JFQzEwQ29tbW9uIiB2ZXJzaW9uPSIwLjEuMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9Ijg6MS04OjU5IiBsb2NhbElkZW50aWZpZXI9IkNvbmZpZyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PcGlvaWRDRFNDb21tb25Db25maWciIHZlcnNpb249IjAuMS4xIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iOToxLTk6NTciIGxvY2FsSWRlbnRpZmllcj0iUm91dGluZXMiIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUm91dGluZXMiIHZlcnNpb249IjAuMS4xIi8+CiAgIDwvaW5jbHVkZXM+CiAgIDxjb2Rlcz4KICAgICAgPGRlZiBsb2NhdG9yPSIxMToxLTExOjEwMiIgbmFtZT0iVXJpbmUgRHJ1ZyBTY3JlZW5pbmciIGlkPSIzMTA2MjcwMDgiIGRpc3BsYXk9IlVyaW5lIGRydWcgc2NyZWVuaW5nIChwcm9jZWR1cmUpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYXRvcj0iMTE6NDctMTE6NTkiIG5hbWU9IlNOT01FRCIgbGlicmFyeU5hbWU9IkNvbW1vbiIvPgogICAgICA8L2RlZj4KICAgPC9jb2Rlcz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjQwOjEtNDA6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDA6MS00MDoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNDA6MS00MDoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjQyOjEtNDQ6ODAiIG5hbWU9IkNocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI0MzozLTQ0OjgwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjQzOjMtNDM6NjciIGFsaWFzPSJBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNDM6My00MzozOCIgbmFtZT0iQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2F0b3I9IjQ0OjUtNDQ6ODAiIG5hbWU9IklzIENocm9uaWMgUGFpbiBQcmVzY3JpcHRpb24/IiBsaWJyYXJ5TmFtZT0iUm91dGluZXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjQ0OjUyLTQ0Ojc5IiBuYW1lPSJBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI0NjoxLTQ3Ojg5IiBuYW1lPSJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjQ3OjMtNDc6ODkiIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI0NzoxMC00Nzo4OSIgbmFtZT0iQ2hyb25pYyBQYWluIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwgUHJlc2NyaXB0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI0OToxLTUyOjQ0IiBuYW1lPSJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNTA6My01Mjo0NCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUwOjMtNTE6NDAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1MDozLTUwOjgxIiBuYW1lPSJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTE6OS01MTo0MCIgbmFtZT0iSW5jbHVzaW9uIENyaXRlcmlhIiBsaWJyYXJ5TmFtZT0iUmVjMTBDb21tb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTI6OS01Mjo0NCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUyOjEzLTUyOjQ0IiBuYW1lPSJFeGNsdXNpb24gQ3JpdGVyaWEiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjU0OjEtNTU6NzIiIG5hbWU9IkFwcGxpY2FibGUgQmVjYXVzZSBvZiBQb3NpdGl2ZSBDb2NhaW5lIG9yIFBDUCBvciBPcGlhdGVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNTU6My01NTo3MiIgbmFtZT0iQXBwbGljYWJsZSBCZWNhdXNlIG9mIFBvc2l0aXZlIENvY2FpbmUgb3IgUENQIG9yIE9waWF0ZXMiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTc6MS01ODo2MiIgbmFtZT0iVXJpbmUgRHJ1ZyBTY3JlZW5pbmcgUHJvY2VkdXJlUmVxdWVzdCBDYXRlZ29yeSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjU4OjMtNTg6NjIiIG5hbWU9IlVyaW5lIERydWcgU2NyZWVuaW5nIFByb2NlZHVyZVJlcXVlc3QgQ2F0ZWdvcnkiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNjA6MS02MTo4MCIgbmFtZT0iRGV0YWlsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNjE6My02MTo4MCIgbmFtZT0iR2V0IERldGFpbCIgbGlicmFyeU5hbWU9IlJlYzEwQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2MToyOS02MTo3OSIgbmFtZT0iSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2MzoxLTY0OjI1IiBuYW1lPSJJbmRpY2F0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI2NDozLTY0OjI1IiBuYW1lPSJJbmRpY2F0b3IiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNjY6MS02Nzo4MSIgbmFtZT0iU3VtbWFyeSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjY3OjMtNjc6ODEiIG5hbWU9IkdldCBTdW1tYXJ5IiBsaWJyYXJ5TmFtZT0iUmVjMTBDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY3OjMwLTY3OjgwIiBuYW1lPSJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9Ijg5OjEtOTU6MyIgbmFtZT0iVG9Db2RpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjkwOjMtOTU6MyIgY2xhc3NUeXBlPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5MToxMS05MTo0MCIgY2xhc3NUeXBlPSJmaGlyOmNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjkxOjMwLTkxOjM4IiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkxOjMwLTkxOjMzIiBuYW1lPSJjb2RlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjkyOjEzLTkyOjQzIiBjbGFzc1R5cGU9ImZoaXI6dXJpIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5MjozMS05Mjo0MSIgcGF0aD0ic3lzdGVtIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjkyOjMxLTkyOjM0IiBuYW1lPSJjb2RlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5MzoxNC05Mzo0OCIgY2xhc3NUeXBlPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iOTM6MzUtOTM6NDYiIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTM6MzUtOTM6MzgiIG5hbWU9ImNvZGUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijk0OjE0LTk0OjQ4IiBjbGFzc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5NDozNS05NDo0NiIgcGF0aD0iZGlzcGxheSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5NDozNS05NDozOCIgbmFtZT0iY29kZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhdG9yPSI4OTozMS04OTo0MSIgbmFtZT0idDpDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzM6MS04Nzo1IiBuYW1lPSJVcmluZSBEcnVnIFNjcmVlbmluZyBSZXF1ZXN0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNzQ6NS04Nzo1IiBjbGFzc1R5cGU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3NjozMC03NjoxMzAiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iNzY6MzItNzY6MTI4IiBjbGFzc1R5cGU9ImZoaXI6Y2Fub25pY2FsIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3Njo1Ni03NjoxMjYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9hY3Rpdml0eWRlZmluaXRpb24vdXJpbmUtc2NyZWVuaW5nLXJlcXVlc3QiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3NzoxNS03Nzo1OCIgY2xhc3NUeXBlPSJmaGlyOlNlcnZpY2VSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3Nzo1MC03Nzo1NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRyYWZ0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50Ij4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc4OjE1LTc4OjYxIiBjbGFzc1R5cGU9ImZoaXI6U2VydmljZVJlcXVlc3RJbnRlbnQiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc4OjUwLTc4OjU5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icHJvcG9zYWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI3OToxNy03OTo2NCIgY2xhc3NUeXBlPSJmaGlyOlNlcnZpY2VSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc5OjU0LTc5OjYyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icm91dGluZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODA6MTMtODA6ODEiIGNsYXNzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGluZyI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MDo0NC04MDo3OSIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSI4MDo0Ni04MDo3NyIgbmFtZT0iVG9Db2RpbmciIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgwOjU1LTgwOjc2IiBuYW1lPSJVcmluZSBEcnVnIFNjcmVlbmluZyIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MToxNi04MTo5MSIgY2xhc3NUeXBlPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgxOjQ0LTgxOjg5IiBjbGFzc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MTo2NS04MTo4NyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODE6NjUtODE6NzQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJQYXRpZW50LyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODE6NzgtODE6ODciIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9IjgxOjc4LTgxOjg0IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSI+CiAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MjoxOS04MjoxMjEiIGNsYXNzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgyOjQwLTgyOjcxIiBjbGFzc1R5cGU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODI6NjMtODI6NjkiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgyOjc5LTgyOjExOSIgY2xhc3NUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgyOjEwMi04MjoxMTciIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MjoxMDItODI6MTA4IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODI6MTEyLTgyOjExNyIgdmFsdWU9IjciIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6VGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODM6MTktODM6NDgiIGNsYXNzVHlwZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODM6NDItODM6NDYiIHhzaTp0eXBlPSJOb3ciLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODQ6MTktODQ6ODQiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYXRvcj0iODQ6MjEtODQ6ODIiIGNsYXNzVHlwZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODQ6NTAtODQ6ODAiIGNsYXNzVHlwZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijg0OjcxLTg0Ojc4IiBuYW1lPSJEZXRhaWwiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjQiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbGlicmFyeVN5c3RlbT0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIgbGlicmFyeUlkPSJPcGlvaWRDRFNDb21tb24iIGxpYnJhcnlWZXJzaW9uPSIwLjEuMSIgc3RhcnRMaW5lPSIxMDciIHN0YXJ0Q2hhcj0iMTQiIGVuZExpbmU9IjEwNyIgZW5kQ2hhcj0iOTYiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxpZGVudGlmaWVyIGlkPSJPcGlvaWRDRFNSRUMxMFBhdGllbnRWaWV3IiBzeXN0ZW09Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiIHZlcnNpb249IjAuMS4xIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzoxLTM6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSIvPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2F0b3I9IjU6MS01OjU0IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSIvPgogICAgICA8ZGVmIGxvY2F0b3I9IjY6MS02OjUzIiBsb2NhbElkZW50aWZpZXI9IkNvbW1vbiIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PcGlvaWRDRFNDb21tb24iIHZlcnNpb249IjAuMS4xIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzoxLTc6NjMiIGxvY2FsSWRlbnRpZmllcj0iUmVjMTBDb21tb24iIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUkVDMTBDb21tb24iIHZlcnNpb249IjAuMS4xIi8+CiAgICAgIDxkZWYgbG9jYXRvcj0iODoxLTg6NTkiIGxvY2FsSWRlbnRpZmllcj0iQ29uZmlnIiBwYXRoPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU0NvbW1vbkNvbmZpZyIgdmVyc2lvbj0iMC4xLjEiLz4KICAgICAgPGRlZiBsb2NhdG9yPSI5OjEtOTo1NyIgbG9jYWxJZGVudGlmaWVyPSJSb3V0aW5lcyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcy9PcGlvaWRDRFNSb3V0aW5lcyIgdmVyc2lvbj0iMC4xLjEiLz4KICAgPC9pbmNsdWRlcz4KICAgPGNvZGVzPgogICAgICA8ZGVmIGxvY2F0b3I9IjExOjEtMTE6MTAyIiBuYW1lPSJVcmluZSBEcnVnIFNjcmVlbmluZyIgaWQ9IjMxMDYyNzAwOCIgZGlzcGxheT0iVXJpbmUgZHJ1ZyBzY3JlZW5pbmcgKHByb2NlZHVyZSkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhdG9yPSIxMTo0Ny0xMTo1OSIgbmFtZT0iU05PTUVEIiBsaWJyYXJ5TmFtZT0iQ29tbW9uIi8+CiAgICAgIDwvZGVmPgogICA8L2NvZGVzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDA6MS00MDoxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSI0MDoxLTQwOjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI0MDoxLTQwOjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNDI6MS00NDo4MCIgbmFtZT0iQ2hyb25pYyBQYWluIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwgUHJlc2NyaXB0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjQzOjMtNDQ6ODAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iNDM6My00Mzo2NyIgYWxpYXM9IkFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb24iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI0MzozLTQzOjM4IiBuYW1lPSJBY3RpdmUgQW1idWxhdG9yeSBPcGlvaWQgUngiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYXRvcj0iNDQ6NS00NDo4MCIgbmFtZT0iSXMgQ2hyb25pYyBQYWluIFByZXNjcmlwdGlvbj8iIGxpYnJhcnlOYW1lPSJSb3V0aW5lcyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNDQ6NTItNDQ6NzkiIG5hbWU9IkFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjQ2OjEtNDc6ODkiIG5hbWU9IlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNDc6My00Nzo4OSIgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjQ3OjEwLTQ3Ojg5IiBuYW1lPSJDaHJvbmljIFBhaW4gT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCBQcmVzY3JpcHRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjQ5OjEtNTI6NDQiIG5hbWU9IklzIFBlcmZvcm0gRHJ1ZyBTY3JlZW4gUmVjb21tZW5kYXRpb24gQXBwbGljYWJsZT8iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI1MDozLTUyOjQ0IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTA6My01MTo0MCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUwOjMtNTA6ODEiIG5hbWU9IlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1MTo5LTUxOjQwIiBuYW1lPSJJbmNsdXNpb24gQ3JpdGVyaWEiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1Mjo5LTUyOjQ0IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTI6MTMtNTI6NDQiIG5hbWU9IkV4Y2x1c2lvbiBDcml0ZXJpYSIgbGlicmFyeU5hbWU9IlJlYzEwQ29tbW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTQ6MS01NTo3MiIgbmFtZT0iQXBwbGljYWJsZSBCZWNhdXNlIG9mIFBvc2l0aXZlIENvY2FpbmUgb3IgUENQIG9yIE9waWF0ZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI1NTozLTU1OjcyIiBuYW1lPSJBcHBsaWNhYmxlIEJlY2F1c2Ugb2YgUG9zaXRpdmUgQ29jYWluZSBvciBQQ1Agb3IgT3BpYXRlcyIgbGlicmFyeU5hbWU9IlJlYzEwQ29tbW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI1NzoxLTU4OjYyIiBuYW1lPSJVcmluZSBEcnVnIFNjcmVlbmluZyBQcm9jZWR1cmVSZXF1ZXN0IENhdGVnb3J5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNTg6My01ODo2MiIgbmFtZT0iVXJpbmUgRHJ1ZyBTY3JlZW5pbmcgUHJvY2VkdXJlUmVxdWVzdCBDYXRlZ29yeSIgbGlicmFyeU5hbWU9IlJlYzEwQ29tbW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2MDoxLTYxOjgwIiBuYW1lPSJEZXRhaWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI2MTozLTYxOjgwIiBuYW1lPSJHZXQgRGV0YWlsIiBsaWJyYXJ5TmFtZT0iUmVjMTBDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjYxOjI5LTYxOjc5IiBuYW1lPSJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2F0b3I9IjYzOjEtNjQ6MjUiIG5hbWU9IkluZGljYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2F0b3I9IjY0OjMtNjQ6MjUiIG5hbWU9IkluZGljYXRvciIgbGlicmFyeU5hbWU9IlJlYzEwQ29tbW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI2NjoxLTY3OjgxIiBuYW1lPSJTdW1tYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iNjc6My02Nzo4MSIgbmFtZT0iR2V0IFN1bW1hcnkiIGxpYnJhcnlOYW1lPSJSZWMxMENvbW1vbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjc6MzAtNjc6ODAiIG5hbWU9IklzIFBlcmZvcm0gRHJ1ZyBTY3JlZW4gUmVjb21tZW5kYXRpb24gQXBwbGljYWJsZT8iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYXRvcj0iODk6MS05NTozIiBuYW1lPSJUb0NvZGluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYXRvcj0iOTA6My05NTozIiBjbGFzc1R5cGU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjkxOjExLTkxOjQwIiBjbGFzc1R5cGU9ImZoaXI6Y29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iOTE6MzAtOTE6MzgiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTE6MzAtOTE6MzMiIG5hbWU9ImNvZGUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW0iPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iOTI6MTMtOTI6NDMiIGNsYXNzVHlwZT0iZmhpcjp1cmkiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjkyOjMxLTkyOjQxIiBwYXRoPSJzeXN0ZW0iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iOTI6MzEtOTI6MzQiIG5hbWU9ImNvZGUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2ZXJzaW9uIj4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjkzOjE0LTkzOjQ4IiBjbGFzc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI5MzozNS05Mzo0NiIgcGF0aD0idmVyc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhdG9yPSI5MzozNS05MzozOCIgbmFtZT0iY29kZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iOTQ6MTQtOTQ6NDgiIGNsYXNzVHlwZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijk0OjM1LTk0OjQ2IiBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2F0b3I9Ijk0OjM1LTk0OjM4IiBuYW1lPSJjb2RlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2F0b3I9Ijg5OjMxLTg5OjQxIiBuYW1lPSJ0OkNvZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhdG9yPSI3MzoxLTg3OjUiIG5hbWU9IlVyaW5lIERydWcgU2NyZWVuaW5nIFJlcXVlc3QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhdG9yPSI3NDo1LTg3OjUiIGNsYXNzVHlwZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIj4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc2OjMwLTc2OjEzMCIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSI3NjozMi03NjoxMjgiIGNsYXNzVHlwZT0iZmhpcjpjYW5vbmljYWwiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc2OjU2LTc2OjEyNiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL2FjdGl2aXR5ZGVmaW5pdGlvbi91cmluZS1zY3JlZW5pbmctcmVxdWVzdCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIj4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc3OjE1LTc3OjU4IiBjbGFzc1R5cGU9ImZoaXI6U2VydmljZVJlcXVlc3RTdGF0dXMiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc3OjUwLTc3OjU2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZHJhZnQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiPgogICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iNzg6MTUtNzg6NjEiIGNsYXNzVHlwZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iNzg6NTAtNzg6NTkiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJwcm9wb3NhbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5Ij4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9Ijc5OjE3LTc5OjY0IiBjbGFzc1R5cGU9ImZoaXI6U2VydmljZVJlcXVlc3RQcmlvcml0eSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iNzk6NTQtNzk6NjIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJyb3V0aW5lIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MDoxMy04MDo4MSIgY2xhc3NUeXBlPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kaW5nIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgwOjQ0LTgwOjc5IiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2F0b3I9IjgwOjQ2LTgwOjc3IiBuYW1lPSJUb0NvZGluZyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODA6NTUtODA6NzYiIG5hbWU9IlVyaW5lIERydWcgU2NyZWVuaW5nIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0Ij4KICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgxOjE2LTgxOjkxIiBjbGFzc1R5cGU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2UiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODE6NDQtODE6ODkiIGNsYXNzVHlwZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2F0b3I9IjgxOjY1LTgxOjg3IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MTo2NS04MTo3NCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlBhdGllbnQvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MTo3OC04MTo4NyIgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYXRvcj0iODE6NzgtODE6ODQiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJvY2N1cnJlbmNlIj4KICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgyOjE5LTgyOjEyMSIgY2xhc3NUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODI6NDAtODI6NzEiIGNsYXNzVHlwZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4Mjo2My04Mjo2OSIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODI6NzktODI6MTE5IiBjbGFzc1R5cGU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODI6MTAyLTgyOjExNyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgyOjEwMi04MjoxMDgiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI4MjoxMTItODI6MTE3IiB2YWx1ZT0iNyIgdW5pdD0iZGF5cyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpUaW1pbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4MzoxOS04Mzo0OCIgY2xhc3NUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4Mzo0Mi04Mzo0NiIgeHNpOnR5cGU9Ik5vdyIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSI+CiAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4NDoxOS04NDo4NCIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhdG9yPSI4NDoyMS04NDo4MiIgY2xhc3NUeXBlPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhdG9yPSI4NDo1MC04NDo4MCIgY2xhc3NUeXBlPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYXRvcj0iODQ6NzEtODQ6NzgiIG5hbWU9IkRldGFpbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K" }, { "contentType": "application/elm+json", - "data": "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvclZlcnNpb24iIDogIjEuNCIsCiAgICAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA3NiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogNzYsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiA5OCwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogOTgsCiAgICAgICAgICJlbmRDaGFyIiA6IDk2LAogICAgICAgICAibWVzc2FnZSIgOiAiQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiAxMjAsCiAgICAgICAgICJzdGFydENoYXIiIDogMTQsCiAgICAgICAgICJlbmRMaW5lIiA6IDEyMCwKICAgICAgICAgImVuZENoYXIiIDogOTYsCiAgICAgICAgICJtZXNzYWdlIiA6ICJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIsCiAgICAgICAgICJlcnJvclR5cGUiIDogInNlbWFudGljIiwKICAgICAgICAgImVycm9yU2V2ZXJpdHkiIDogIndhcm5pbmciLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciIKICAgICAgfSwgewogICAgICAgICAibGlicmFyeVN5c3RlbSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIsCiAgICAgICAgICJsaWJyYXJ5SWQiIDogIk9waW9pZENEU0NvbW1vbiIsCiAgICAgICAgICJsaWJyYXJ5VmVyc2lvbiIgOiAiMC4xLjEiLAogICAgICAgICAic3RhcnRMaW5lIiA6IDE0MiwKICAgICAgICAgInN0YXJ0Q2hhciIgOiAxNCwKICAgICAgICAgImVuZExpbmUiIDogMTQyLAogICAgICAgICAiZW5kQ2hhciIgOiA5NiwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9LCB7CiAgICAgICAgICJsaWJyYXJ5U3lzdGVtIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzIiwKICAgICAgICAgImxpYnJhcnlJZCIgOiAiT3Bpb2lkQ0RTQ29tbW9uIiwKICAgICAgICAgImxpYnJhcnlWZXJzaW9uIiA6ICIwLjEuMSIsCiAgICAgICAgICJzdGFydExpbmUiIDogMTY3LAogICAgICAgICAic3RhcnRDaGFyIiA6IDE4LAogICAgICAgICAiZW5kTGluZSIgOiAxNjcsCiAgICAgICAgICJlbmRDaGFyIiA6IDEwMCwKICAgICAgICAgIm1lc3NhZ2UiIDogIkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9IF0sCiAgICAgICJpZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJPcGlvaWRDRFNSRUMxMFBhdGllbnRWaWV3IiwKICAgICAgICAgInN5c3RlbSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvb3Bpb2lkLWNkcyIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICIwLjEuMSIKICAgICAgfSwKICAgICAgInNjaGVtYUlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsCiAgICAgICAgICJ2ZXJzaW9uIiA6ICJyMSIKICAgICAgfSwKICAgICAgInVzaW5ncyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzoxLTM6MjYiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSIiwKICAgICAgICAgICAgInVyaSIgOiAiaHR0cDovL2hsNy5vcmcvZmhpciIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJpbmNsdWRlcyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1OjEtNTo1NCIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY6MS02OjUzIiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiQ29tbW9uIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OjEtNzo2MyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUkVDMTBDb21tb24iLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMC4xLjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjg6MS04OjU5IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiQ29uZmlnIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTQ29tbW9uQ29uZmlnIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOTo1NyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlJvdXRpbmVzIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMvT3Bpb2lkQ0RTUm91dGluZXMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMC4xLjEiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiY29kZXMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6MS0xMToxMDIiLAogICAgICAgICAgICAibmFtZSIgOiAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmciLAogICAgICAgICAgICAiaWQiIDogIjMxMDYyNzAwOCIsCiAgICAgICAgICAgICJkaXNwbGF5IiA6ICJVcmluZSBkcnVnIHNjcmVlbmluZyAocHJvY2VkdXJlKSIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImNvZGVTeXN0ZW0iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE6NDctMTE6NTkiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiU05PTUVEIiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDb21tb24iCiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb250ZXh0cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAic3RhdGVtZW50cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MDoxLTQwOjE1IiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDI6MS00NDo4MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJDaHJvbmljIFBhaW4gT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCBQcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjMtNDQ6ODAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLAogICAgICAgICAgICAgICAic291cmNlIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDM6My00Mzo2NyIsCiAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiQW1idWxhdG9yeU9waW9pZFByZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjMtNDM6MzgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDb21tb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAid2hlcmUiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDQ6NS00NDo4MCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJcyBDaHJvbmljIFBhaW4gUHJlc2NyaXB0aW9uPyIsCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUm91dGluZXMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjUyLTQ0Ojc5IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDY6MS00Nzo4OSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IElzIEJlaW5nIFByZXNjcmliZWQgT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NzozLTQ3Ojg5IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ3OjEwLTQ3Ojg5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkNocm9uaWMgUGFpbiBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIFByZXNjcmlwdGlvbnMiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ5OjEtNTI6NDQiLAogICAgICAgICAgICAibmFtZSIgOiAiSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MDozLTUyOjQ0IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6My01MTo0MCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjMtNTA6ODEiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBJcyBCZWluZyBQcmVzY3JpYmVkIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTE6OS01MTo0MCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJbmNsdXNpb24gQ3JpdGVyaWEiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Mjo5LTUyOjQ0IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUyOjEzLTUyOjQ0IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkV4Y2x1c2lvbiBDcml0ZXJpYSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUmVjMTBDb21tb24iLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NDoxLTU1OjcyIiwKICAgICAgICAgICAgIm5hbWUiIDogIkFwcGxpY2FibGUgQmVjYXVzZSBvZiBQb3NpdGl2ZSBDb2NhaW5lIG9yIFBDUCBvciBPcGlhdGVzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjMtNTU6NzIiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiQXBwbGljYWJsZSBCZWNhdXNlIG9mIFBvc2l0aXZlIENvY2FpbmUgb3IgUENQIG9yIE9waWF0ZXMiLAogICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTc6MS01ODo2MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJVcmluZSBEcnVnIFNjcmVlbmluZyBQcm9jZWR1cmVSZXF1ZXN0IENhdGVnb3J5IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU4OjMtNTg6NjIiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmcgUHJvY2VkdXJlUmVxdWVzdCBDYXRlZ29yeSIsCiAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUmVjMTBDb21tb24iLAogICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MDoxLTYxOjgwIiwKICAgICAgICAgICAgIm5hbWUiIDogIkRldGFpbCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MTozLTYxOjgwIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBEZXRhaWwiLAogICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MToyOS02MTo3OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJJcyBQZXJmb3JtIERydWcgU2NyZWVuIFJlY29tbWVuZGF0aW9uIEFwcGxpY2FibGU/IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjYzOjEtNjQ6MjUiLAogICAgICAgICAgICAibmFtZSIgOiAiSW5kaWNhdG9yIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjMtNjQ6MjUiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiSW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjEtNjc6ODEiLAogICAgICAgICAgICAibmFtZSIgOiAiU3VtbWFyeSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NzozLTY3OjgxIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkdldCBTdW1tYXJ5IiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6MzAtNjc6ODAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OToxLTk1OjMiLAogICAgICAgICAgICAibmFtZSIgOiAiVG9Db2RpbmciLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uRGVmIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTA6My05NTozIiwKICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kaW5nIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjExLTkxOjQwIiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Y29kZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6MzAtOTE6MzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJQcm9wZXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTE6MzAtOTE6MzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPcGVyYW5kUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjEzLTkyOjQzIiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9dXJpIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozMS05Mjo0MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJzeXN0ZW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkyOjMxLTkyOjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZlcnNpb24iLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTM6MTQtOTM6NDgiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjM1LTkzOjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogInZlcnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjM1LTkzOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImRpc3BsYXkiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTQ6MTQtOTQ6NDgiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjM1LTk0OjQ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImRpc3BsYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjM1LTk0OjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9LAogICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAib3BlcmFuZFR5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MzEtODk6NDEiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Db2RlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNzM6MS04Nzo1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlVyaW5lIERydWcgU2NyZWVuaW5nIFJlcXVlc3QiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzQ6NS04Nzo1IiwKICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImluc3RhbnRpYXRlc0Nhbm9uaWNhbCIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NjozMC03NjoxMzAiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MzItNzY6MTI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Y2Fub25pY2FsIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Njo1Ni03NjoxMjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy9jZGMvYWN0aXZpdHlkZWZpbml0aW9uL3VyaW5lLXNjcmVlbmluZy1yZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NzoxNS03Nzo1OCIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0U3RhdHVzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3Nzo1MC03Nzo1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJkcmFmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImludGVudCIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODoxNS03ODo2MSIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0SW50ZW50IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODo1MC03ODo1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJwcm9wb3NhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInByaW9yaXR5IiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjE3LTc5OjY0IiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9U2VydmljZVJlcXVlc3RQcmlvcml0eSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzk6NTQtNzk6NjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAicm91dGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6MTMtODA6ODEiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo0NC04MDo3OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MDo0Ni04MDo3NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0NvZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6NTUtODA6NzYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN1YmplY3QiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6MTYtODE6OTEiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1SZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MTo0NC04MTo4OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6NjUtODE6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29uY2F0ZW5hdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjY1LTgxOjc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIlBhdGllbnQvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRvU3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6NzgtODE6ODciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAiaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjc4LTgxOjg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAib2NjdXJyZW5jZSIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjE5LTgyOjEyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAic3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODI6NDAtODI6NzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjYzLTgyOjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjc5LTgyOjExOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb0RhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODI6MTAyLTgyOjExNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBZGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjEwMi04MjoxMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9kYXkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjExMi04MjoxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogNywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXQiIDogImRheXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUXVhbnRpdHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBlcmlvZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVRpbWluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiYXV0aG9yZWRPbiIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MzoxOS04Mzo0OCIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWRhdGVUaW1lIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Mzo0Mi04Mzo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3ciCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAicmVhc29uQ29kZSIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDoxOS04NDo4NCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0IiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDoyMS04NDo4MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGVhYmxlQ29uY2VwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidGV4dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4NDo1MC04NDo4MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NzEtODQ6NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGV0YWlsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0gXQogICAgICB9CiAgIH0KfQ==" + "data": "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvclZlcnNpb24iIDogIjEuNCIsCiAgICAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iCiAgICAgIH0sIHsKICAgICAgICAgImxpYnJhcnlTeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAibGlicmFyeUlkIiA6ICJPcGlvaWRDRFNDb21tb24iLAogICAgICAgICAibGlicmFyeVZlcnNpb24iIDogIjAuMS4xIiwKICAgICAgICAgInN0YXJ0TGluZSIgOiAxMDcsCiAgICAgICAgICJzdGFydENoYXIiIDogMTQsCiAgICAgICAgICJlbmRMaW5lIiA6IDEwNywKICAgICAgICAgImVuZENoYXIiIDogOTYsCiAgICAgICAgICJtZXNzYWdlIiA6ICJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIsCiAgICAgICAgICJlcnJvclR5cGUiIDogInNlbWFudGljIiwKICAgICAgICAgImVycm9yU2V2ZXJpdHkiIDogIndhcm5pbmciLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciIKICAgICAgfSBdLAogICAgICAiaWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAiT3Bpb2lkQ0RTUkVDMTBQYXRpZW50VmlldyIsCiAgICAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL29waW9pZC1jZHMiLAogICAgICAgICAidmVyc2lvbiIgOiAiMC4xLjEiCiAgICAgIH0sCiAgICAgICJzY2hlbWFJZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJ1cm46aGw3LW9yZzplbG0iLAogICAgICAgICAidmVyc2lvbiIgOiAicjEiCiAgICAgIH0sCiAgICAgICJ1c2luZ3MiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJTeXN0ZW0iLAogICAgICAgICAgICAidXJpIiA6ICJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM6MS0zOjI2IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUiIsCiAgICAgICAgICAgICJ1cmkiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiaW5jbHVkZXMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNToxLTU6NTQiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL0ZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2OjEtNjo1MyIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkNvbW1vbiIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU0NvbW1vbiIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIwLjEuMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNzoxLTc6NjMiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU1JFQzEwQ29tbW9uIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OjEtODo1OSIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkNvbmZpZyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU0NvbW1vbkNvbmZpZyIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIwLjEuMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiOToxLTk6NTciLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJSb3V0aW5lcyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NkYy9vcGlvaWQtY2RzL09waW9pZENEU1JvdXRpbmVzIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjAuMS4xIgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImNvZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOjEtMTE6MTAyIiwKICAgICAgICAgICAgIm5hbWUiIDogIlVyaW5lIERydWcgU2NyZWVuaW5nIiwKICAgICAgICAgICAgImlkIiA6ICIzMTA2MjcwMDgiLAogICAgICAgICAgICAiZGlzcGxheSIgOiAiVXJpbmUgZHJ1ZyBzY3JlZW5pbmcgKHByb2NlZHVyZSkiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJjb2RlU3lzdGVtIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOjQ3LTExOjU5IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIlNOT01FRCIsCiAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiQ29tbW9uIgogICAgICAgICAgICB9CiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiY29udGV4dHMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6MS00MDoxNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IgogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgInN0YXRlbWVudHMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6MS00MDoxNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDA6MS00MDoxNSIsCiAgICAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIKICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQyOjEtNDQ6ODAiLAogICAgICAgICAgICAibmFtZSIgOiAiQ2hyb25pYyBQYWluIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwgUHJlc2NyaXB0aW9ucyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MzozLTQ0OjgwIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQzOjMtNDM6NjciLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkFtYnVsYXRvcnlPcGlvaWRQcmVzY3JpcHRpb24iLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0MzozLTQzOjM4IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBBbWJ1bGF0b3J5IE9waW9pZCBSeCIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwKICAgICAgICAgICAgICAgIndoZXJlIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ0OjUtNDQ6ODAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSXMgQ2hyb25pYyBQYWluIFByZXNjcmlwdGlvbj8iLAogICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJvdXRpbmVzIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NDo1Mi00NDo3OSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBbWJ1bGF0b3J5T3Bpb2lkUHJlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFsaWFzUmVmIgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjQ2OjEtNDc6ODkiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCBJcyBCZWluZyBQcmVzY3JpYmVkIE9waW9pZCBBbmFsZ2VzaWMgd2l0aCBBbWJ1bGF0b3J5IE1pc3VzZSBQb3RlbnRpYWwiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNDc6My00Nzo4OSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0NzoxMC00Nzo4OSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJDaHJvbmljIFBhaW4gT3Bpb2lkIEFuYWxnZXNpYyB3aXRoIEFtYnVsYXRvcnkgTWlzdXNlIFBvdGVudGlhbCBQcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI0OToxLTUyOjQ0IiwKICAgICAgICAgICAgIm5hbWUiIDogIklzIFBlcmZvcm0gRHJ1ZyBTY3JlZW4gUmVjb21tZW5kYXRpb24gQXBwbGljYWJsZT8iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTA6My01Mjo0NCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUwOjMtNTE6NDAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MDozLTUwOjgxIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQgSXMgQmVpbmcgUHJlc2NyaWJlZCBPcGlvaWQgQW5hbGdlc2ljIHdpdGggQW1idWxhdG9yeSBNaXN1c2UgUG90ZW50aWFsIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjUxOjktNTE6NDAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSW5jbHVzaW9uIENyaXRlcmlhIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTI6OS01Mjo0NCIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MjoxMy01Mjo0NCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJFeGNsdXNpb24gQ3JpdGVyaWEiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNTQ6MS01NTo3MiIsCiAgICAgICAgICAgICJuYW1lIiA6ICJBcHBsaWNhYmxlIEJlY2F1c2Ugb2YgUG9zaXRpdmUgQ29jYWluZSBvciBQQ1Agb3IgT3BpYXRlcyIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NTozLTU1OjcyIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkFwcGxpY2FibGUgQmVjYXVzZSBvZiBQb3NpdGl2ZSBDb2NhaW5lIG9yIFBDUCBvciBPcGlhdGVzIiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjU3OjEtNTg6NjIiLAogICAgICAgICAgICAibmFtZSIgOiAiVXJpbmUgRHJ1ZyBTY3JlZW5pbmcgUHJvY2VkdXJlUmVxdWVzdCBDYXRlZ29yeSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1ODozLTU4OjYyIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIlVyaW5lIERydWcgU2NyZWVuaW5nIFByb2NlZHVyZVJlcXVlc3QgQ2F0ZWdvcnkiLAogICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIlJlYzEwQ29tbW9uIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiNjA6MS02MTo4MCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJEZXRhaWwiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjE6My02MTo4MCIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJHZXQgRGV0YWlsIiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJSZWMxMENvbW1vbiIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjE6MjktNjE6NzkiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiSXMgUGVyZm9ybSBEcnVnIFNjcmVlbiBSZWNvbW1lbmRhdGlvbiBBcHBsaWNhYmxlPyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2MzoxLTY0OjI1IiwKICAgICAgICAgICAgIm5hbWUiIDogIkluZGljYXRvciIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NDozLTY0OjI1IiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkluZGljYXRvciIsCiAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUmVjMTBDb21tb24iLAogICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NjoxLTY3OjgxIiwKICAgICAgICAgICAgIm5hbWUiIDogIlN1bW1hcnkiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjc6My02Nzo4MSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJHZXQgU3VtbWFyeSIsCiAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiUmVjMTBDb21tb24iLAogICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY3OjMwLTY3OjgwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIklzIFBlcmZvcm0gRHJ1ZyBTY3JlZW4gUmVjb21tZW5kYXRpb24gQXBwbGljYWJsZT8iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiODk6MS05NTozIiwKICAgICAgICAgICAgIm5hbWUiIDogIlRvQ29kaW5nIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvbkRlZiIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjMtOTU6MyIsCiAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfUNvZGluZyIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiY29kZSIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MToxMS05MTo0MCIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWNvZGUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjMwLTkxOjM4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjMwLTkxOjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImNvZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiT3BlcmFuZFJlZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN5c3RlbSIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjoxMy05Mjo0MyIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXVyaSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTI6MzEtOTI6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aCIgOiAic3lzdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MjozMS05MjozNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2ZXJzaW9uIiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkzOjE0LTkzOjQ4IiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9c3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MzozNS05Mzo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2ZXJzaW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MzozNS05MzozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJkaXNwbGF5IiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjk0OjE0LTk0OjQ4IiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9c3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDozNS05NDo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJkaXNwbGF5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5NDozNS05NDozOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk9wZXJhbmRSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgIm9wZXJhbmRUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjMxLTg5OjQxIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Q29kZSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjEtODc6NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJVcmluZSBEcnVnIFNjcmVlbmluZyBSZXF1ZXN0IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc0OjUtODc6NSIsCiAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpbnN0YW50aWF0ZXNDYW5vbmljYWwiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6MzAtNzY6MTMwIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3QiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc2OjMyLTc2OjEyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfWNhbm9uaWNhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzY6NTYtNzY6MTI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY2RjL2FjdGl2aXR5ZGVmaW5pdGlvbi91cmluZS1zY3JlZW5pbmctcmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJzdGF0dXMiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzc6MTUtNzc6NTgiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdFN0YXR1cyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzc6NTAtNzc6NTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiZHJhZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJpbnRlbnQiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzg6MTUtNzg6NjEiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1TZXJ2aWNlUmVxdWVzdEludGVudCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzg6NTAtNzg6NTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAicHJvcG9zYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJwcmlvcml0eSIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OToxNy03OTo2NCIsCiAgICAgICAgICAgICAgICAgICAgICJjbGFzc1R5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVNlcnZpY2VSZXF1ZXN0UHJpb3JpdHkiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjU0LTc5OjYyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogInJvdXRpbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RlIiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjEzLTgwOjgxIiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9Q29kZWFibGVDb25jZXB0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJjb2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6NDQtODA6NzkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6NDYtODA6NzciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9Db2RpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgwOjU1LTgwOjc2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlVyaW5lIERydWcgU2NyZWVuaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvZGVSZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJzdWJqZWN0IiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjE2LTgxOjkxIiwKICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkluc3RhbmNlIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJyZWZlcmVuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6NDQtODE6ODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjY1LTgxOjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MTo2NS04MTo3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJQYXRpZW50LyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjc4LTgxOjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImlkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MTo3OC04MTo4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm9jY3VycmVuY2UiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MjoxOS04MjoxMjEiLAogICAgICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjQwLTgyOjcxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNsYXNzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9ZGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvRGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Mjo2My04Mjo2OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb2RheSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImVuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4Mjo3OS04MjoxMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9EYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjgyOjEwMi04MjoxMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWRkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MjoxMDItODI6MTA4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlRvZGF5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MjoxMTItODI6MTE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IDcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bml0IiA6ICJkYXlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1YW50aXR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAiYXNUeXBlU3BlY2lmaWVyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9ZGF0ZVRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1UaW1pbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogImF1dGhvcmVkT24iLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6MTktODM6NDgiLAogICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1kYXRlVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAidmFsdWUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODM6NDItODM6NDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm93IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInJlYXNvbkNvZGUiLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6MTktODQ6ODQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6MjEtODQ6ODIiLAogICAgICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1Db2RlYWJsZUNvbmNlcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInRleHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODQ6NTAtODQ6ODAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2xhc3NUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1zdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiSW5zdGFuY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg0OjcxLTg0Ojc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkRldGFpbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9IF0KICAgICAgfQogICB9Cn0=" } ] } \ No newline at end of file diff --git a/input/resources/library/OpioidCDSREC11.json b/input/resources/library/OpioidCDSREC11.json index 285d7757..e1b942f4 100644 --- a/input/resources/library/OpioidCDSREC11.json +++ b/input/resources/library/OpioidCDSREC11.json @@ -60,10 +60,6 @@ "type": "depends-on", "display": "Value set Benzodiazepine medications", "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/benzodiazepine-medications" - }, { - "type": "depends-on", - "display": "Value set Active MedicationRequest", - "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" }, { "type": "depends-on", "display": "Value set Encounter Diagnosis Condition Category", @@ -186,75 +182,20 @@ "codeFilter": [ { "path": "id" } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] }, { "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "Condition", "profile": [ "http://hl7.org/fhir/StructureDefinition/Condition" ], diff --git a/input/resources/library/OpioidCDSREC11PatientView.json b/input/resources/library/OpioidCDSREC11PatientView.json index ff5b621a..4e6fb66f 100644 --- a/input/resources/library/OpioidCDSREC11PatientView.json +++ b/input/resources/library/OpioidCDSREC11PatientView.json @@ -52,10 +52,6 @@ "type": "depends-on", "display": "Value set Community", "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-category-community" - }, { - "type": "depends-on", - "display": "Value set Active MedicationRequest", - "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" }, { "type": "depends-on", "display": "Value set Benzodiazepine medications", @@ -155,22 +151,6 @@ "dataRequirement": [ { "type": "Patient", "profile": [ "http://hl7.org/fhir/StructureDefinition/Patient" ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] }, { "type": "Medication", "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], @@ -180,43 +160,18 @@ } ] }, { "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "Medication", - "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], - "mustSupport": [ "id" ], - "codeFilter": [ { - "path": "id" - } ] + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "Condition", "profile": [ "http://hl7.org/fhir/StructureDefinition/Condition" ], diff --git a/input/resources/library/OpioidCDSRoutines.json b/input/resources/library/OpioidCDSRoutines.json index 1e6db2a3..ba9337df 100644 --- a/input/resources/library/OpioidCDSRoutines.json +++ b/input/resources/library/OpioidCDSRoutines.json @@ -84,10 +84,6 @@ "type": "depends-on", "display": "Value set Community", "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-category-community" - }, { - "type": "depends-on", - "display": "Value set Active MedicationRequest", - "resource": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" }, { "type": "depends-on", "display": "Value set Opioid analgesics with ambulatory misuse potential", @@ -264,22 +260,6 @@ "path": "type", "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/office-visit" } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] - }, { - "type": "MedicationRequest", - "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] }, { "type": "Medication", "profile": [ "http://hl7.org/fhir/StructureDefinition/Medication" ], @@ -287,14 +267,17 @@ "codeFilter": [ { "path": "id" } ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ] }, { "type": "MedicationRequest", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], - "mustSupport": [ "status", "authoredOn", "medication", "category", "medication.reference", "id", "intent", "subject", "recorder", "dosageInstruction", "dispenseRequest" ], - "codeFilter": [ { - "path": "status", - "valueSet": "http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-status-active" - } ] + "mustSupport": [ "authoredOn", "medication" ] + }, { + "type": "MedicationRequest", + "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationRequest" ], + "mustSupport": [ "authoredOn", "medication" ] }, { "type": "MedicationDispense", "profile": [ "http://hl7.org/fhir/StructureDefinition/MedicationDispense" ], diff --git a/thunder-tests/thunderCollection.json b/thunder-tests/thunderCollection.json index 8f8980ee..a59913b8 100644 --- a/thunder-tests/thunderCollection.json +++ b/thunder-tests/thunderCollection.json @@ -10,7 +10,8 @@ "name": "REC_01", "containerId": "", "created": "2022-08-08T19:42:27.504Z", - "sortNum": 10000 + "sortNum": 10000, + "settings": {} }, { "_id": "c517211f-b05c-4072-a59b-d7e07258eba9", @@ -110,6 +111,7 @@ "created": "2022-08-08T19:42:27.519Z", "sortNum": 120000 } - ] + ], + "settings": {} } ] \ No newline at end of file diff --git a/thunder-tests/thunderEnvironment.json b/thunder-tests/thunderEnvironment.json index 0637a088..008f60a1 100644 --- a/thunder-tests/thunderEnvironment.json +++ b/thunder-tests/thunderEnvironment.json @@ -1 +1,24 @@ -[] \ No newline at end of file +[ + { + "_id": "62c62fdf-1554-4d64-a55a-153870b236dd", + "name": "OPIOID_TEST_LOCAL", + "default": true, + "sortNum": 10000, + "created": "2022-08-17T23:29:44.876Z", + "modified": "2022-08-17T23:38:00.218Z", + "data": [ + { + "name": "fhirServer", + "value": "http://localhost:8080/fhir" + }, + { + "name": "cdsHooksServer", + "value": "http://localhost:8080/cds-services" + }, + { + "name": "igBase", + "value": "/Users/christopherschuler/Documents/workspace/cqframework/igs/opioid-cds-r4" + } + ] + } +] \ No newline at end of file diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index cbdbda3d..8df7a717 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -8,8 +8,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.506Z", - "modified": "2022-08-08T19:42:27.506Z", - "headers": [], + "modified": "2022-08-17T23:39:46.232Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -299,26 +304,6 @@ }, "tests": [] }, - { - "_id": "1ccf67bf-fe3e-47fa-a849-dda21b347895", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "6e0fdd9a-ae7e-4932-bc09-1f242c051283", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 17500, - "created": "2022-08-08T19:42:27.521Z", - "modified": "2022-08-08T19:42:27.521Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-01-true-make-recommendations.json" - }, - "tests": [] - }, { "_id": "0697da4e-09b4-4d7f-af26-fba0731b9af1", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -608,8 +593,13 @@ "method": "POST", "sortNum": 21250, "created": "2022-08-08T19:42:27.536Z", - "modified": "2022-08-08T19:42:27.536Z", - "headers": [], + "modified": "2022-08-18T17:16:39.664Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -617,7 +607,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Recommend use of nonpharmacologic therapy and nonopioid pharmacologic therapy as alternative" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Medication requests(s): " + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "416d5ce7-5805-4a63-8b94-03efecec6b6b", @@ -699,26 +714,6 @@ }, "tests": [] }, - { - "_id": "39433c5e-f2e7-40f1-95f8-8710795530a6", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "6e0fdd9a-ae7e-4932-bc09-1f242c051283", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 25000, - "created": "2022-08-08T19:42:27.541Z", - "modified": "2022-08-08T19:42:27.541Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json" - }, - "tests": [] - }, { "_id": "b3a7b2b0-4058-4342-81e3-0f8b3012e44a", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1488,8 +1483,13 @@ "method": "POST", "sortNum": 40000, "created": "2022-08-08T19:42:27.580Z", - "modified": "2022-08-08T19:42:27.580Z", - "headers": [], + "modified": "2022-08-18T17:19:11.441Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1497,7 +1497,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "1b2b67d4-6bf2-4fd4-990d-904338df1582", From 822973c3c39738ed2f83944cfe0b2fc728dc17ad Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 12:21:38 -0600 Subject: [PATCH 07/24] Fixed rec 2 tests - updated rec pages --- input/pagecontent/recommendation-01.xml | 4 +- input/pagecontent/recommendation-02.xml | 8 +- ...-example-rec-02-in-careplan-revisited.json | 46 ++++--- ...ple-rec-02-out-careplan-not-revisited.json | 49 +++++--- thunder-tests/thunderclient.json | 115 ++++++++++-------- 5 files changed, 128 insertions(+), 94 deletions(-) diff --git a/input/pagecontent/recommendation-01.xml b/input/pagecontent/recommendation-01.xml index 3f478734..077860c7 100644 --- a/input/pagecontent/recommendation-01.xml +++ b/input/pagecontent/recommendation-01.xml @@ -98,19 +98,17 @@ - + - - diff --git a/input/pagecontent/recommendation-02.xml b/input/pagecontent/recommendation-02.xml index 873370b8..c85715b6 100644 --- a/input/pagecontent/recommendation-02.xml +++ b/input/pagecontent/recommendation-02.xml @@ -96,19 +96,17 @@
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Patient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" as well as a Medication Statement 95 days prior to today which will result in recommendation inclusion in addition to Opioid Naive & Opioid Review Useful inclusion. Patients "Dosage Instructions" are 1 Film per day for 30 days. This should result in a summary message: "Recommend use of nonpharmacologic therapy and nonopioid pharmacologic therapy as alternative."Test Bundle Request JSON Response JSON
Patient is 18 years or older and has an inpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603). Patients "Dosage Instructions" are 1 Film per day for 30 days. This will result in an empty set of cards due to the Medication Request being inpatient.Test Bundle Request JSON Response JSON
- + - - + - - + diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json index 22f9b171..f639175f 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json @@ -4,7 +4,7 @@ "hook": "order-select", "context": { "userId": "Practitioner/example", - "patientId": "Patient/example-rec-02-true-make-recommendations", + "patientId": "Patient/example-rec-02-careplan-revisited", "selections": [ "MedicationRequest/222b5b54-1efe-4733-bec9-313e97f16051" ], @@ -22,12 +22,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -42,7 +42,7 @@ { "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community", "display": "Community" } @@ -59,12 +59,15 @@ ] }, "subject": { - "reference": "Patient/example-rec-02-true-make-recommendations" + "reference": "Patient/example-rec-02-careplan-revisited" }, "encounter": { - "reference": "Encounter/example-rec-02-in-careplan-revisited-context" + "reference": "Encounter/example-rec-02-careplan-revisited-context" + }, + "authoredOn": "2022-08-18", + "recorder": { + "reference": "Practitioner/example" }, - "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -79,8 +82,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -102,14 +105,14 @@ }, "resource": { "resourceType": "Patient", - "id": "example-rec-02-true-make-recommendations", + "id": "example-rec-02-careplan-revisited", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -123,7 +126,7 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } }, "item2": { @@ -132,7 +135,7 @@ }, "resource": { "resourceType": "CarePlan", - "id": "1446d540-3b44-4af9-934b-3a694d8abffc", + "id": "example-rec-02-careplan-revisited", "meta": { "lastUpdated": "2021-12-09" }, @@ -142,7 +145,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -158,10 +161,21 @@ ], "status": "active", "intent": "plan", + "category": [ + { + "coding": [ + { + "system": "http://loinc.org", + "code": "80764-4", + "display": "Pain medicine Plan of care note" + } + ] + } + ], "subject": { - "reference": "Patient/example-rec-02-true-make-recommendations" + "reference": "Patient/example-rec-02-careplan-revisited" }, - "created": "2022-03-06", + "created": "2022-05-22", "author": { "reference": "Practitioner/example" } diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json index 4df206a5..90740fbd 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json @@ -4,7 +4,7 @@ "hook": "order-select", "context": { "userId": "Practitioner/example", - "patientId": "Patient/example-rec-02-false-due-to-careplan-within-90-days", + "patientId": "Patient/example-rec-02-careplan-not-revisited", "selections": [ "MedicationRequest/a6590d30-c320-4016-861f-678f9f87bca5" ], @@ -22,12 +22,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -42,7 +42,7 @@ { "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community", "display": "Community" } @@ -59,12 +59,15 @@ ] }, "subject": { - "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" + "reference": "Patient/example-rec-02-careplan-not-revisited" }, "encounter": { - "reference": "Encounter/example-rec-02-out-careplan-not-revisited-context" + "reference": "Encounter/example-rec-02-careplan-not-revisited-context" + }, + "authoredOn": "2022-08-18", + "recorder": { + "reference": "Practitioner/example" }, - "authoredOn": "2022-08-03", "dosageInstruction": [ { "timing": { @@ -79,8 +82,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -102,14 +105,14 @@ }, "resource": { "resourceType": "Patient", - "id": "example-rec-02-false-due-to-careplan-within-90-days", + "id": "example-rec-02-careplan-not-revisited", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -123,7 +126,7 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } }, "item2": { @@ -132,17 +135,14 @@ }, "resource": { "resourceType": "CarePlan", - "id": "f4a02a0e-ce41-457f-92aa-c46a6402d450", - "meta": { - "lastUpdated": "2022-01-09" - }, + "id": "example-rec-02-careplan-not-revisited", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -158,10 +158,21 @@ ], "status": "active", "intent": "plan", + "category": [ + { + "coding": [ + { + "system": "http://loinc.org", + "code": "80764-4", + "display": "Pain medicine Plan of care note" + } + ] + } + ], "subject": { - "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" + "reference": "Patient/example-rec-02-careplan-not-revisited" }, - "created": "2022-04-05", + "created": "2022-04-20", "author": { "reference": "Practitioner/example" } diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index 8df7a717..0d2329a4 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -33,8 +33,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.507Z", - "modified": "2022-08-08T19:42:27.507Z", - "headers": [], + "modified": "2022-08-18T17:55:38.997Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -304,26 +309,6 @@ }, "tests": [] }, - { - "_id": "0697da4e-09b4-4d7f-af26-fba0731b9af1", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "c517211f-b05c-4072-a59b-d7e07258eba9", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.522Z", - "modified": "2022-08-08T19:42:27.522Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-02-true-make-recommendations.json" - }, - "tests": [] - }, { "_id": "84606fd4-0723-4927-8d86-4caec139ca11", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1078,13 +1063,18 @@ "_id": "d1e4c13f-3f47-44cc-9e38-642f2f7c7a20", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", "containerId": "c517211f-b05c-4072-a59b-d7e07258eba9", - "name": "REQUEST_RETURN_RECOMMENDATION", + "name": "REQUEST_RETURN_NO_RECOMMENDATION", "url": "{{cdsHooksServer}}/opioidcds-02", "method": "POST", "sortNum": 30000, "created": "2022-08-08T19:42:27.560Z", - "modified": "2022-08-08T19:42:27.560Z", - "headers": [], + "modified": "2022-08-18T18:15:20.957Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1092,7 +1082,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "138c424e-25dd-4d79-bd46-c691e1426ede", @@ -1512,26 +1515,6 @@ } ] }, - { - "_id": "1b2b67d4-6bf2-4fd4-990d-904338df1582", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "c517211f-b05c-4072-a59b-d7e07258eba9", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 40000, - "created": "2022-08-08T19:42:27.581Z", - "modified": "2022-08-08T19:42:27.581Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json" - }, - "tests": [] - }, { "_id": "05344f5e-d83c-43f8-a34f-7d86b8249ebf", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1856,13 +1839,18 @@ "_id": "460ccd3e-63a5-40d1-b0c6-4dd88a1c474c", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", "containerId": "c517211f-b05c-4072-a59b-d7e07258eba9", - "name": "REQUEST_RETURN_NO_RECOMMENDATION", + "name": "REQUEST_RETURN_RECOMMENDATION", "url": "{{cdsHooksServer}}/opioidcds-02", "method": "POST", - "sortNum": 50000, + "sortNum": 20000, "created": "2022-08-08T19:42:27.598Z", - "modified": "2022-08-08T19:42:27.598Z", - "headers": [], + "modified": "2022-08-18T18:14:52.127Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1870,7 +1858,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Recommend creation, review or update of opioid treatment plan" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Medication requests(s): " + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "0cd03be3-e0e1-4e59-adf4-5bb8603600a9", From 3bf5402fadfd30a7b1344df6839ddeea1429d469 Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 12:53:14 -0600 Subject: [PATCH 08/24] Fixed rec 3 tests - updated rec pages --- input/pagecontent/recommendation-03.xml | 6 +- ...ec-03-in-no-counseling-within-90-days.json | 22 +-- ...-rec-03-out-counseling-within-90-days.json | 34 ++--- thunder-tests/thunderclient.json | 143 ++++++++++-------- 4 files changed, 108 insertions(+), 97 deletions(-) diff --git a/input/pagecontent/recommendation-03.xml b/input/pagecontent/recommendation-03.xml index dc5b2b65..fd0e7f63 100644 --- a/input/pagecontent/recommendation-03.xml +++ b/input/pagecontent/recommendation-03.xml @@ -87,19 +87,17 @@
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Patient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" as well as a Care Plan most recently updated 120 days prior to today. Patients "Dosage Instructions" are 1 Film per day for 30 days. Due to the most recent review of the Care Plan having been conducted more than 89 days prior to today this will result in a summary message: "Recommend creation, review or update of opioid treatment plan. CarePlan.category.code needs to be Common."Opioid Treatment Plan…"Test Bundle example-rec-02-true-make-recommendationsPatient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" as well as an Opioid Treatment Care Plan updated 89 days prior to today. Patients "Dosage Instructions" are 1 Film per day for 30 days. This patient will not trigger any cards and there should not be a recommendation message. Request JSON example-rec-02-in-careplan-revisited Response JSON example-rec-02-in-careplan-revisited
Patient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" as well as an Opioid Treatment Care Plan updated 89 days prior to today. Patients "Dosage Instructions" are 1 Film per day for 30 days. This patient will not trigger any cards and there should not be a recommendation message.Test Bundle example-rec-02-false-due-to-careplan-within-90-daysPatient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" as well as a Care Plan most recently updated 120 days prior to today. Patients "Dosage Instructions" are 1 Film per day for 30 days. Due to the most recent review of the Care Plan having been conducted more than 89 days prior to today this will result in a summary message: "Recommend creation, review or update of opioid treatment plan." Request JSON example-rec-02-out-careplan-not-revisited Response JSON example-rec-02-out-careplan-not-revisited
- + - - + - diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json index d2fabc47..ca90801b 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json @@ -22,12 +22,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -42,7 +42,7 @@ { "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community", "display": "Community" } @@ -62,9 +62,9 @@ "reference": "Patient/example-rec-03-true-make-recommendations" }, "encounter": { - "reference": "Encounter/example-rec-03-in-no-counseling-within-90-days-context" + "reference": "Encounter/example-rec-03-true-make-recommendations-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -105,7 +105,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -119,7 +119,7 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } }, "item2": { @@ -128,14 +128,14 @@ }, "resource": { "resourceType": "Procedure", - "id": "eb21d7c8-e260-409b-a753-d85909eff0ba", + "id": "example-rec-03-true-make-recommendations", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -154,8 +154,8 @@ "coding": [ { "system": "http://snomed.info/sct", - "code": "313071005", - "display": "Counseling for substance abuse (procedure)" + "code": "460831000124102", + "display": "Counseling about opioid safety (procedure)" } ] }, diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json index 1e10c47b..d69567de 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json @@ -4,7 +4,7 @@ "hook": "order-select", "context": { "userId": "Practitioner/example", - "patientId": "Patient/example-rec-03-false-due-to-discussion-within-90-days", + "patientId": "Patient/example-rec-03-false-no-recommendations", "selections": [ "MedicationRequest/e9e50568-5737-427d-8b1b-7a48f3ea9986" ], @@ -22,12 +22,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -42,7 +42,7 @@ { "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community", "display": "Community" } @@ -59,12 +59,12 @@ ] }, "subject": { - "reference": "Patient/example-rec-03-false-due-to-discussion-within-90-days" + "reference": "Patient/example-rec-03-false-no-recommendations" }, "encounter": { - "reference": "Encounter/example-rec-03-out-counseling-within-90-days-context" + "reference": "Encounter/example-rec-03-false-no-recommendations-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -98,14 +98,14 @@ }, "resource": { "resourceType": "Patient", - "id": "example-rec-03-false-due-to-discussion-within-90-days", + "id": "example-rec-03-false-no-recommendations", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -119,7 +119,7 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } }, "item2": { @@ -128,14 +128,14 @@ }, "resource": { "resourceType": "Procedure", - "id": "ab45f30e-b150-4265-a288-02da1b74ca19", + "id": "example-rec-03-false-no-recommendations", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -154,17 +154,17 @@ "coding": [ { "system": "http://snomed.info/sct", - "code": "313071005", - "display": "Counseling for substance abuse (procedure)" + "code": "460831000124102", + "display": "Counseling about opioid safety (procedure)" } ] }, "subject": { - "reference": "Patient/example-rec-03-false-due-to-discussion-within-90-days" + "reference": "Patient/example-rec-03-false-no-recommendations" }, "performedPeriod": { - "start": "2022-05-06", - "end": "2022-05-07" + "start": "2022-05-22", + "end": "2022-05-22" } } }, diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index 0d2329a4..89c95764 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -58,8 +58,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.508Z", - "modified": "2022-08-08T19:42:27.508Z", - "headers": [], + "modified": "2022-08-18T18:40:59.328Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -309,26 +314,6 @@ }, "tests": [] }, - { - "_id": "84606fd4-0723-4927-8d86-4caec139ca11", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "652312fd-c9dc-48f6-8f2b-64ffa36d3385", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.523Z", - "modified": "2022-08-08T19:42:27.523Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-03-true-make-recommendations.json" - }, - "tests": [] - }, { "_id": "5cc6b8fb-ab0e-48d4-bcd3-9038e9246297", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1106,8 +1091,13 @@ "method": "POST", "sortNum": 30000, "created": "2022-08-08T19:42:27.561Z", - "modified": "2022-08-08T19:42:27.561Z", - "headers": [], + "modified": "2022-08-18T18:51:08.046Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1115,7 +1105,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Recommend counseling regarding potential opioid harms and risks" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Medication requests(s): " + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "2b75729d-a82e-4076-a6c7-ec65ec67444b", @@ -1515,26 +1530,6 @@ } ] }, - { - "_id": "05344f5e-d83c-43f8-a34f-7d86b8249ebf", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "652312fd-c9dc-48f6-8f2b-64ffa36d3385", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 40000, - "created": "2022-08-08T19:42:27.582Z", - "modified": "2022-08-08T19:42:27.582Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json" - }, - "tests": [] - }, { "_id": "87219884-7f37-4b60-bd2d-3a517dc8374e", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1885,26 +1880,6 @@ } ] }, - { - "_id": "0cd03be3-e0e1-4e59-adf4-5bb8603600a9", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "652312fd-c9dc-48f6-8f2b-64ffa36d3385", - "name": "REQUEST_RETURN_NO_RECOMMENDATION", - "url": "{{cdsHooksServer}}/opioidcds-03", - "method": "POST", - "sortNum": 50000, - "created": "2022-08-08T19:42:27.599Z", - "modified": "2022-08-08T19:42:27.599Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json" - }, - "tests": [] - }, { "_id": "46adf0f2-925a-43cd-bf9c-d7413d49cebc", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -2124,5 +2099,43 @@ "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json" }, "tests": [] + }, + { + "_id": "e3be1964-d851-440f-a537-7f1ab874e1ae", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "652312fd-c9dc-48f6-8f2b-64ffa36d3385", + "name": "REQUEST_RETURN_NO_RECOMMENDATION", + "url": "{{cdsHooksServer}}/opioidcds-03", + "method": "POST", + "sortNum": 40000, + "created": "2022-08-18T18:42:42.086Z", + "modified": "2022-08-18T18:51:39.475Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "../input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json" + }, + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] } ] \ No newline at end of file From 79d76ca647b46cd2710d157ad73e2a4b67d9b70c Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 14:26:53 -0600 Subject: [PATCH 09/24] Fixed rec 4 order-sign tests - updated rec pages - updated PlanDefinitions to specify order-sign - updated requests --- .../recommendation-04-order-sign.xml | 21 +- ...t-example-rec-01-in-outpatient-opioid.json | 5 +- ...t-example-rec-01-out-inpatient-opioid.json | 5 +- ...-example-rec-02-in-careplan-revisited.json | 5 +- ...ple-rec-02-out-careplan-not-revisited.json | 5 +- ...ec-03-in-no-counseling-within-90-days.json | 5 +- ...-rec-03-out-counseling-within-90-days.json | 5 +- ...est-example-rec-04-long-acting-opioid.json | 137 +----------- .../request-example-rec-04-new-patient.json | 153 -------------- ...example-rec-04-not-long-acting-opioid.json | 147 +------------ ...ec-04-preexisting-long-acting-opioid.json} | 85 ++------ ...-example-rec-02-in-careplan-revisited.json | 18 +- ...ple-rec-02-out-careplan-not-revisited.json | 16 +- ...le-rec-04-opioid-with-abuse-potential.json | 3 - ...ec-04-preexisting-long-acting-opioid.json} | 0 .../plandefinition/opioidcds-01.json | 2 +- .../plandefinition/opioidcds-02.json | 2 +- .../plandefinition/opioidcds-03.json | 2 +- .../plandefinition/opioidcds-04.json | 2 +- .../plandefinition/opioidcds-05.json | 2 +- .../plandefinition/opioidcds-06.json | 2 +- .../plandefinition/opioidcds-07.json | 2 +- .../plandefinition/opioidcds-09.json | 2 +- thunder-tests/thunderclient.json | 197 ++++++++---------- 24 files changed, 164 insertions(+), 659 deletions(-) delete mode 100644 input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json rename input/pagecontent/requests/OpioidCDSREC04/{request-example-rec-04-opioid-with-abuse-potential.json => request-example-rec-04-preexisting-long-acting-opioid.json} (70%) delete mode 100644 input/pagecontent/responses/OpioidCDSREC04/response-example-rec-04-opioid-with-abuse-potential.json rename input/pagecontent/responses/OpioidCDSREC04/{response-example-rec-04-new-patient.json => response-example-rec-04-preexisting-long-acting-opioid.json} (100%) diff --git a/input/pagecontent/recommendation-04-order-sign.xml b/input/pagecontent/recommendation-04-order-sign.xml index 3591ff01..56240678 100644 --- a/input/pagecontent/recommendation-04-order-sign.xml +++ b/input/pagecontent/recommendation-04-order-sign.xml @@ -103,33 +103,24 @@
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Patient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" and a "documented discussion of opioid harms and risks" procedure completed 91 days prior to today. Patients "Dosage Instructions" are 1 Film per day for 30 days. This will result in a summer message: "Recommend counseling regarding potential opioid harms and risks"Test BundlePatient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" and a "documented discussion of opioid harms and risks" procedure completed 91 days prior to today. Patients "Dosage Instructions" are 1 Film per day for 30 days. This will result in a summary message: "Recommend counseling regarding potential opioid harms and risks" Request JSON Response JSON
Patient is 18 years or older and has an outpatient Medication Request of Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) authored "Today" and a "documented discussion of opioid harms and risks" procedure completed 88 days prior to today. Patients "Dosage Instructions" are 1 Film per day for 30 days. This will not result in any recommendation messages.Test Bundle Request JSON Response JSON
- + - - + - - - - - - - - + - - - - + + +
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Patient is 18 years or older and has a Medication Request authored "Today" for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet which is an "Extended Release Opioid with Ambulatory Abuse Potential." Additionally, the patient has a previous encounter within the past 12 months. This will result in a recommendation message: "Recommend use of immediate-release opioids instead of extended release/long acting opioids when starting patient on opioids."Test BundlePatient is 18 years or older and has a Medication Request authored "Today" for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet which is an "Extended Release Opioid with Ambulatory Abuse Potential". This will result in a recommendation message: "Recommend use of immediate-release opioids instead of extended release/long acting opioids when starting patient on opioids." Request JSON Response JSON
Patient is 18 years or older and has a Medication Request authored "Today" for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet which is an "Extended Release Opioid with Ambulatory Abuse Potential. The patient does not have a previous encounter within the past 12 months and will not result in any recommendation messages.Test BundleRequest JSONResponse JSON
Patient is 18 years or older and has a Medication Request authored 4 months prior to today for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet which is an "Extended Release Opioid with Ambulatory Abuse Potential. Additionally, the patient has a Medication Request authored "Today" for Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip which is not an "Extended Release Opioid…" This will not result in any recommendation messages.Test BundlePatient is 18 years or older and has a Medication Request authored "Today" for Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip which is not an "Extended Release Opioid". This will not result in any recommendation messages. Request JSON Response JSON
Patient is 18 years or older and has a 2 Medication Requests authored "Today" and 14 days prior to today, respectively, for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet which is an "Extended Release Opioid with Ambulatory Abuse Potential. Patient also has a previous encounter within the past 12 months but will not result in any recommendation messages as the patient is excluded by having a prior extended release opioid Medication Request within the preceding 91 days.Test BundleRequest JSONResponse JSONPatient is 18 years or older and has a Medication Request authored "Today" for Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip which is not an "Extended Release Opioid". Additionally, the patient has an active Medication Request for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet which is an "Extended Release Opioid with Ambulatory Abuse Potential". This will not result in any recommendation messages.Request JSONResponse JSON
diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json index 117fb1d0..9fb49dca 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json @@ -1,13 +1,10 @@ { "hookInstance": "6bc883b2-b795-4dcb-b661-34884a31d472", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-01-true-make-recommendations", - "selections": [ - "MedicationRequest/05f8cb26-2eb6-4124-b65d-bb1f13e21c49" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json index f8593da3..79b9a822 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json @@ -1,13 +1,10 @@ { "hookInstance": "32a89854-a395-4f0e-8fa7-a660c7c9dd3d", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-01-false-due-to-inpatient-opioid", - "selections": [ - "MedicationRequest/4d2b4402-022e-4f69-813e-ab16934286a6" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json index f639175f..d5596335 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json @@ -1,13 +1,10 @@ { "hookInstance": "2c7a36a1-1e82-4608-87be-fc13f730ec49", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-02-careplan-revisited", - "selections": [ - "MedicationRequest/222b5b54-1efe-4733-bec9-313e97f16051" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json index 90740fbd..0bc2ddce 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json @@ -1,13 +1,10 @@ { "hookInstance": "95e3c637-8c92-4d48-9e00-fa223b072506", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-02-careplan-not-revisited", - "selections": [ - "MedicationRequest/a6590d30-c320-4016-861f-678f9f87bca5" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json index ca90801b..e7585345 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json @@ -1,13 +1,10 @@ { "hookInstance": "53a6848f-0d7a-467a-9d6e-0c612a7ddb15", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-03-true-make-recommendations", - "selections": [ - "MedicationRequest/54cd4101-f1b8-408e-ac61-8862d5399bcd" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json index d69567de..94539f98 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json @@ -1,13 +1,10 @@ { "hookInstance": "a1836eaf-5987-4144-ac00-ca3b63c9a98e", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-03-false-no-recommendations", - "selections": [ - "MedicationRequest/e9e50568-5737-427d-8b1b-7a48f3ea9986" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json index 24f24c79..a8cb48bf 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json @@ -1,14 +1,11 @@ { "hookInstance": "9d02e4d7-2d5b-492f-8f77-d76edb47168b", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-04-long-acting-opioid", "encounterId": "Encounter/example-rec-04-long-acting-opioid-context", - "selections": [ - "MedicationRequest/example-rec-04-long-acting-opioid-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-04-long-acting-opioid-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -89,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -106,122 +103,8 @@ } }, "prefetch": { - "item1": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-04-long-acting-opioid-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-04-long-acting-opioid" - }, - "authoredOn": "2022-04-04", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-04T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - } - }, - "item2": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "id": "example-rec-04-long-acting-opioid-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "finished", - "subject": { - "reference": "Patient/example-rec-04-long-acting-opioid" - }, - "period": { - "start": "2022-04-04", - "end": "2022-04-04" - } - } - }, + "item1": null, + "item2": null, "item3": { "response": { "status": "200 OK" @@ -235,7 +118,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -250,7 +133,7 @@ } ], "gender": "male", - "birthDate": "1982-05-04" + "birthDate": "2002-08-18" } }, "item4": null, diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json deleted file mode 100644 index 05e34673..00000000 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "hookInstance": "3a2ff17f-4d50-43a0-a409-20d7686b90ea", - "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", - "context": { - "userId": "Practitioner/example", - "patientId": "Patient/example-rec-04-new-patient", - "encounterId": "Encounter/example-rec-04-new-patient-context", - "selections": [ - "MedicationRequest/example-rec-04-new-patient-context" - ], - "draftOrders": { - "resourceType": "Bundle", - "type": "collection", - "entry": [ - { - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-04-new-patient-context", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-04-new-patient" - }, - "encounter": { - "reference": "Encounter/example-rec-04-new-patient-context" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - } - } - ] - } - }, - "prefetch": { - "item1": null, - "item2": null, - "item3": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Patient", - "id": "example-rec-04-new-patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "gender": "male", - "birthDate": "1982-05-04" - } - }, - "item4": null, - "item5": null, - "item6": null, - "item7": null, - "item8": null, - "item9": null, - "item10": null, - "item11": null, - "item12": null, - "item13": null - } -} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json index 0fe6899e..55cca63c 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json @@ -1,14 +1,11 @@ { "hookInstance": "e9f6b9a0-366c-47af-b11b-f6d54797030a", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-04-not-long-acting-opioid", "encounterId": "Encounter/example-rec-04-not-long-acting-opioid-context", - "selections": [ - "MedicationRequest/example-rec-04-not-long-acting-opioid-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-04-not-long-acting-opioid-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -89,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -106,132 +103,8 @@ } }, "prefetch": { - "item1": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-04-not-long-acting-opioid-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-04-not-long-acting-opioid" - }, - "authoredOn": "2022-04-04", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "validityPeriod": { - "start": "2022-04-04T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" - }, - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - } - }, - "item2": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "id": "example-rec-04-not-long-acting-opioid-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "finished", - "subject": { - "reference": "Patient/example-rec-04-not-long-acting-opioid" - }, - "period": { - "start": "2022-04-04", - "end": "2022-04-04" - } - } - }, + "item1": null, + "item2": null, "item3": { "response": { "status": "200 OK" @@ -245,7 +118,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -260,7 +133,7 @@ } ], "gender": "male", - "birthDate": "1982-05-04" + "birthDate": "2002-08-18" } }, "item4": null, diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-preexisting-long-acting-opioid.json similarity index 70% rename from input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json rename to input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-preexisting-long-acting-opioid.json index 04342fa2..fd6ae720 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-preexisting-long-acting-opioid.json @@ -1,14 +1,11 @@ { "hookInstance": "1bf95787-c6eb-42c5-aacd-405803921024", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", - "patientId": "Patient/example-rec-04-opioid-with-abuse-potential", - "encounterId": "Encounter/example-rec-04-opioid-with-abuse-potential-context", - "selections": [ - "MedicationRequest/example-rec-04-opioid-with-abuse-potential-context" - ], + "patientId": "Patient/example-rec-04-preexisting-long-acting-opioid", + "encounterId": "Encounter/example-rec-04-preexisting-long-acting-opioid-context", "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -16,19 +13,19 @@ { "resource": { "resourceType": "MedicationRequest", - "id": "example-rec-04-opioid-with-abuse-potential-context", + "id": "example-rec-04-preexisting-long-acting-opioid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -53,18 +50,18 @@ "coding": [ { "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + "code": "1010600", + "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip" } ] }, "subject": { - "reference": "Patient/example-rec-04-opioid-with-abuse-potential" + "reference": "Patient/example-rec-04-preexisting-long-acting-opioid" }, "encounter": { - "reference": "Encounter/example-rec-04-opioid-with-abuse-potential-context" + "reference": "Encounter/example-rec-04-preexisting-long-acting-opioid-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -89,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -112,14 +109,14 @@ }, "resource": { "resourceType": "MedicationRequest", - "id": "example-rec-04-opioid-with-abuse-potential-prefetch", + "id": "example-rec-04-preexisting-long-acting-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -155,9 +152,9 @@ ] }, "subject": { - "reference": "Patient/example-rec-04-opioid-with-abuse-potential" + "reference": "Patient/example-rec-04-preexisting-long-acting-opioid" }, - "authoredOn": "2022-07-20", + "authoredOn": "2022-07-18", "dosageInstruction": [ { "timing": { @@ -182,8 +179,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-07-20T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-07-18", + "end": "2022-10-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -195,57 +192,21 @@ } } }, - "item2": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "id": "example-rec-04-opioid-with-abuse-potential-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "finished", - "subject": { - "reference": "Patient/example-rec-04-opioid-with-abuse-potential" - }, - "period": { - "start": "2022-07-20", - "end": "2022-07-20" - } - } - }, + "item2": null, "item3": { "response": { "status": "200 OK" }, "resource": { "resourceType": "Patient", - "id": "example-rec-04-opioid-with-abuse-potential", + "id": "example-rec-04-preexisting-long-acting-opioid", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -260,7 +221,7 @@ } ], "gender": "male", - "birthDate": "1982-05-04" + "birthDate": "2002-08-18" } }, "item4": null, diff --git a/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-in-careplan-revisited.json b/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-in-careplan-revisited.json index 3689b099..2e2bdb3b 100644 --- a/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-in-careplan-revisited.json +++ b/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-in-careplan-revisited.json @@ -1,17 +1,3 @@ { - "cards": [ - { - "summary": "Recommend creation, review or update of opioid treatment plan", - "indicator": "warning", - "detail": "Medication requests(s): ", - "source": {}, - "selectionBehavior": "any", - "links": [ - { - "label": "CDC guideline for prescribing opioids for chronic pain", - "url": "https://www.cdc.gov/mmwr/volumes/65/rr/rr6501e1.htm?CDC_AA_refVal=https%3A%2F%2Fwww.cdc.gov%2Fmmwr%2Fvolumes%2F65%2Frr%2Frr6501e1er.htm" - } - ] - } - ] - } \ No newline at end of file + "cards": [] +} \ No newline at end of file diff --git a/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-out-careplan-not-revisited.json b/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-out-careplan-not-revisited.json index 11e34159..4bc4b2d7 100644 --- a/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-out-careplan-not-revisited.json +++ b/input/pagecontent/responses/OpioidCDSREC02/response-example-rec-02-out-careplan-not-revisited.json @@ -1,3 +1,17 @@ { - "cards": [] + "cards": [ + { + "summary": "Recommend creation, review or update of opioid treatment plan", + "indicator": "warning", + "detail": "Medication requests(s): ", + "source": {}, + "selectionBehavior": "any", + "links": [ + { + "label": "CDC guideline for prescribing opioids for chronic pain", + "url": "https://www.cdc.gov/mmwr/volumes/65/rr/rr6501e1.htm?CDC_AA_refVal=https%3A%2F%2Fwww.cdc.gov%2Fmmwr%2Fvolumes%2F65%2Frr%2Frr6501e1er.htm" + } + ] + } + ] } diff --git a/input/pagecontent/responses/OpioidCDSREC04/response-example-rec-04-opioid-with-abuse-potential.json b/input/pagecontent/responses/OpioidCDSREC04/response-example-rec-04-opioid-with-abuse-potential.json deleted file mode 100644 index 11e34159..00000000 --- a/input/pagecontent/responses/OpioidCDSREC04/response-example-rec-04-opioid-with-abuse-potential.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "cards": [] -} diff --git a/input/pagecontent/responses/OpioidCDSREC04/response-example-rec-04-new-patient.json b/input/pagecontent/responses/OpioidCDSREC04/response-example-rec-04-preexisting-long-acting-opioid.json similarity index 100% rename from input/pagecontent/responses/OpioidCDSREC04/response-example-rec-04-new-patient.json rename to input/pagecontent/responses/OpioidCDSREC04/response-example-rec-04-preexisting-long-acting-opioid.json diff --git a/input/resources/plandefinition/opioidcds-01.json b/input/resources/plandefinition/opioidcds-01.json index 73b6ac52..d475572b 100644 --- a/input/resources/plandefinition/opioidcds-01.json +++ b/input/resources/plandefinition/opioidcds-01.json @@ -430,7 +430,7 @@ } ], "trigger": [ { "type": "named-event", - "name": "order-select" + "name": "order-sign" } ], "condition": [ { "kind": "applicability", diff --git a/input/resources/plandefinition/opioidcds-02.json b/input/resources/plandefinition/opioidcds-02.json index 127d6fbe..d12bb276 100644 --- a/input/resources/plandefinition/opioidcds-02.json +++ b/input/resources/plandefinition/opioidcds-02.json @@ -485,7 +485,7 @@ } ], "trigger": [ { "type": "named-event", - "name": "order-select" + "name": "order-sign" } ], "condition": [ { "kind": "applicability", diff --git a/input/resources/plandefinition/opioidcds-03.json b/input/resources/plandefinition/opioidcds-03.json index be33a2c6..80b86291 100644 --- a/input/resources/plandefinition/opioidcds-03.json +++ b/input/resources/plandefinition/opioidcds-03.json @@ -440,7 +440,7 @@ } ], "trigger": [ { "type": "named-event", - "name": "order-select" + "name": "order-sign" } ], "condition": [ { "kind": "applicability", diff --git a/input/resources/plandefinition/opioidcds-04.json b/input/resources/plandefinition/opioidcds-04.json index d5f73bed..06f7f6de 100644 --- a/input/resources/plandefinition/opioidcds-04.json +++ b/input/resources/plandefinition/opioidcds-04.json @@ -474,7 +474,7 @@ } ], "trigger": [ { "type": "named-event", - "name": "order-select" + "name": "order-sign" } ], "condition": [ { "kind": "applicability", diff --git a/input/resources/plandefinition/opioidcds-05.json b/input/resources/plandefinition/opioidcds-05.json index 5ec3b161..9089f24f 100644 --- a/input/resources/plandefinition/opioidcds-05.json +++ b/input/resources/plandefinition/opioidcds-05.json @@ -498,7 +498,7 @@ } ], "trigger": [ { "type": "named-event", - "name": "order-select" + "name": "order-sign" } ], "condition": [ { "kind": "applicability", diff --git a/input/resources/plandefinition/opioidcds-06.json b/input/resources/plandefinition/opioidcds-06.json index cc869867..9e876a55 100644 --- a/input/resources/plandefinition/opioidcds-06.json +++ b/input/resources/plandefinition/opioidcds-06.json @@ -395,7 +395,7 @@ } ], "trigger": [ { "type": "named-event", - "name": "order-select" + "name": "order-sign" } ], "condition": [ { "kind": "applicability", diff --git a/input/resources/plandefinition/opioidcds-07.json b/input/resources/plandefinition/opioidcds-07.json index 63dff133..74072930 100644 --- a/input/resources/plandefinition/opioidcds-07.json +++ b/input/resources/plandefinition/opioidcds-07.json @@ -564,7 +564,7 @@ } ], "trigger": [ { "type": "named-event", - "name": "order-select" + "name": "order-sign" } ], "condition": [ { "kind": "applicability", diff --git a/input/resources/plandefinition/opioidcds-09.json b/input/resources/plandefinition/opioidcds-09.json index 722debe4..a84b1dce 100644 --- a/input/resources/plandefinition/opioidcds-09.json +++ b/input/resources/plandefinition/opioidcds-09.json @@ -425,7 +425,7 @@ } ], "trigger": [ { "type": "named-event", - "name": "order-select" + "name": "order-sign" } ], "condition": [ { "kind": "applicability", diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index 89c95764..c6d45e5a 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -83,8 +83,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.509Z", - "modified": "2022-08-08T19:42:27.509Z", - "headers": [], + "modified": "2022-08-18T19:03:19.230Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -314,26 +319,6 @@ }, "tests": [] }, - { - "_id": "5cc6b8fb-ab0e-48d4-bcd3-9038e9246297", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION_LAO", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.524Z", - "modified": "2022-08-08T19:42:27.524Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-04-long-acting-opioid.xml" - }, - "tests": [] - }, { "_id": "08fc1968-6658-4fed-b2d4-54f3588319f2", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -773,8 +758,13 @@ "method": "POST", "sortNum": 25000, "created": "2022-08-08T19:42:27.546Z", - "modified": "2022-08-08T19:42:27.546Z", - "headers": [], + "modified": "2022-08-18T19:55:25.017Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -782,7 +772,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Recommend use of immediate-release opioids instead of extended release/long acting opioids when starting patient on opioids." + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "The following medication requests(s) release rates should be re-evaluated: " + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "ba3d3fef-a25b-4af8-81ff-2815611174af", @@ -1132,26 +1147,6 @@ } ] }, - { - "_id": "2b75729d-a82e-4076-a6c7-ec65ec67444b", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_NP", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.562Z", - "modified": "2022-08-08T19:42:27.562Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-04-new-patient.xml" - }, - "tests": [] - }, { "_id": "78be1cc6-2373-489e-8d76-bb42febecc9b", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1372,26 +1367,6 @@ }, "tests": [] }, - { - "_id": "ac15d726-4405-4cb9-ac11-d46e0287fb57", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", - "name": "REQUEST_RETURN_NO_RECOMMENDATION_NP", - "url": "{{cdsHooksServer}}/opioidcds-04", - "method": "POST", - "sortNum": 35000, - "created": "2022-08-08T19:42:27.574Z", - "modified": "2022-08-08T19:42:27.574Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json" - }, - "tests": [] - }, { "_id": "e015296e-39b0-4a39-b1c2-4098c70142fe", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1530,26 +1505,6 @@ } ] }, - { - "_id": "87219884-7f37-4b60-bd2d-3a517dc8374e", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_NLAO", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 40000, - "created": "2022-08-08T19:42:27.583Z", - "modified": "2022-08-08T19:42:27.583Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml" - }, - "tests": [] - }, { "_id": "0f1ea5d3-6692-44bd-8b9a-811b9f3a6678", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1779,8 +1734,13 @@ "method": "POST", "sortNum": 45000, "created": "2022-08-08T19:42:27.595Z", - "modified": "2022-08-08T19:42:27.595Z", - "headers": [], + "modified": "2022-08-18T19:54:21.740Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1788,7 +1748,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "ec005e4f-f271-43da-860f-cdc75f2e5586", @@ -1880,26 +1853,6 @@ } ] }, - { - "_id": "46adf0f2-925a-43cd-bf9c-d7413d49cebc", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWAP", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 50000, - "created": "2022-08-08T19:42:27.600Z", - "modified": "2022-08-08T19:42:27.600Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml" - }, - "tests": [] - }, { "_id": "99c9aa17-8cc9-47a4-bc97-d2bf311a1cfb", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -2044,21 +1997,39 @@ "_id": "ed511944-ff88-47bf-aed2-a0537b5f64f9", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", "containerId": "fbf51d41-cce6-4673-92f0-b54fc6b3172e", - "name": "REQUEST_RETURN_NO_RECOMMENDATION_OWAP", + "name": "REQUEST_RETURN_NO_RECOMMENDATION_PELOA", "url": "{{cdsHooksServer}}/opioidcds-04", "method": "POST", "sortNum": 60000, "created": "2022-08-08T19:42:27.608Z", - "modified": "2022-08-08T19:42:27.608Z", - "headers": [], + "modified": "2022-08-18T19:51:43.722Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-preexisting-long-acting-opioid.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "4b37a3a6-e811-4382-8555-93b30101cc00", From 69e3e7524be270990de488436cb707fc6d0d0e3c Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 15:44:37 -0600 Subject: [PATCH 10/24] Fixed rec 4 patient-view tests - updated rec pages --- .../recommendation-04-patient-view.xml | 20 +- ...ec-04-patient-view-long-acting-opioid.json | 50 +---- ...ample-rec-04-patient-view-new-patient.json | 134 ------------- ...4-patient-view-not-long-acting-opioid.json | 52 +---- ...ient-view-opioid-with-abuse-potential.json | 167 ---------------- ...ample-rec-04-patient-view-new-patient.json | 3 - ...ient-view-opioid-with-abuse-potential.json | 3 - thunder-tests/thunderclient.json | 189 ++++++------------ 8 files changed, 79 insertions(+), 539 deletions(-) delete mode 100644 input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json delete mode 100644 input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json delete mode 100644 input/pagecontent/responses/OpioidCDSREC04PatientView/response-example-rec-04-patient-view-new-patient.json delete mode 100644 input/pagecontent/responses/OpioidCDSREC04PatientView/response-example-rec-04-patient-view-opioid-with-abuse-potential.json diff --git a/input/pagecontent/recommendation-04-patient-view.xml b/input/pagecontent/recommendation-04-patient-view.xml index 5e0a9aed..3cc845e5 100644 --- a/input/pagecontent/recommendation-04-patient-view.xml +++ b/input/pagecontent/recommendation-04-patient-view.xml @@ -94,34 +94,20 @@ - + - - + - - - - - - - - + - - - - - -
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Patient is 18 years or older and has a Medication Request authored "Today" for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet which is an "Extended Release Opioid with Ambulatory Abuse Potential." Additionally, the patient has a previous encounter within the past 12 months. This will result in a recommendation message: "Recommend use of immediate-release opioids instead of extended release/long acting opioids when starting patient on opioids."Test BundlePatient is 18 years or older and has a Medication Request authored "Today" for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet which is an "Extended Release Opioid with Ambulatory Abuse Potential". This will result in a recommendation message: "Recommend use of immediate-release opioids instead of extended release/long acting opioids when starting patient on opioids". Request JSON Response JSON
Patient is 18 years or older and has a Medication Request authored "Today" for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet which is an "Extended Release Opioid with Ambulatory Abuse Potential. The patient does not have a previous encounter within the past 12 months and will not result in any recommendation messages.Test BundleRequest JSONResponse JSON
Patient is 18 years or older and has a Medication Request authored 4 months prior to today for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet which is an "Extended Release Opioid with Ambulatory Abuse Potential. Additionally, the patient has a Medication Request authored "Today" for Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip which is not an "Extended Release Opioid…" This will not result in any recommendation messages.Test BundlePatient is 18 years or older and has a Medication Request authored 4 months prior to today for Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip which is not an "Extended Release Opioid". This will not result in any recommendation messages. Request JSON Response JSON
Patient is 18 years or older and has a 2 Medication Requests authored "Today" and 14 days prior to today, respectively, for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet which is an "Extended Release Opioid with Ambulatory Abuse Potential. Patient also has a previous encounter within the past 12 months but will not result in any recommendation messages as the patient is excluded by having a prior extended release opioid Medication Request within the preceding 91 days.Test BundleRequest JSONResponse JSON
diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json index 0bd1140f..b8a7451f 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json @@ -21,7 +21,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -36,7 +36,7 @@ } ], "gender": "male", - "birthDate": "1982-05-04" + "birthDate": "2002-08-18" } }, "item2": { @@ -52,7 +52,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -90,7 +90,7 @@ "subject": { "reference": "Patient/example-rec-04-long-acting-opioid" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-05-18", "dosageInstruction": [ { "timing": { @@ -115,8 +115,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-05-18", + "end": "2022-08-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -130,42 +130,6 @@ }, "item3": null, "item4": null, - "item5": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "id": "example-rec-04-long-acting-opioid-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "finished", - "subject": { - "reference": "Patient/example-rec-04-long-acting-opioid" - }, - "period": { - "start": "2022-04-04", - "end": "2022-04-04" - } - } - } + "item5": null } } \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json deleted file mode 100644 index cfb4d2d1..00000000 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json +++ /dev/null @@ -1,134 +0,0 @@ -{ - "hookInstance": "3a2ff17f-4d50-43a0-a409-20d7686b90ea", - "fhirServer": "http://localhost:8080/fhir", - "hook": "patient-view", - "context": { - "userId": "Practitioner/example", - "patientId": "Patient/example-rec-04-new-patient", - "encounterId": "Encounter/example-rec-04-new-patient-prefetch" - }, - "prefetch": { - "item1": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Patient", - "id": "example-rec-04-new-patient", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "gender": "male", - "birthDate": "1982-05-04" - } - }, - "item2": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-04-new-patient-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-04-new-patient" - }, - "encounter": { - "reference": "Encounter/example-rec-04-new-patient-prefetch" - }, - "authoredOn": "2022-08-03", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - } - }, - "item3": null, - "item4": null, - "item5": null - } -} \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json index 867e10d3..e6bc8690 100644 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json @@ -21,7 +21,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -36,7 +36,7 @@ } ], "gender": "male", - "birthDate": "1982-05-04" + "birthDate": "2002-08-18" } }, "item2": { @@ -45,14 +45,14 @@ }, "resource": { "resourceType": "MedicationRequest", - "id": "example-rec-04-not-long-acting-opioid-context", + "id": "example-rec-04-not-long-acting-opioid-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -93,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-04-not-long-acting-opioid-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-05-18", "dosageInstruction": [ { "timing": { @@ -118,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-05-18", + "end": "2022-08-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -133,42 +133,6 @@ }, "item3": null, "item4": null, - "item5": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "id": "example-rec-04-not-long-acting-opioid-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "finished", - "subject": { - "reference": "Patient/example-rec-04-not-long-acting-opioid" - }, - "period": { - "start": "2022-04-04", - "end": "2023-04-04" - } - } - } + "item5": null } } \ No newline at end of file diff --git a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json b/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json deleted file mode 100644 index d6814719..00000000 --- a/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "hookInstance": "1bf95787-c6eb-42c5-aacd-405803921024", - "fhirServer": "http://localhost:8080/fhir", - "hook": "patient-view", - "context": { - "userId": "Practitioner/example", - "patientId": "Patient/example-rec-04-opioid-with-abuse-potential", - "encounterId": "Encounter/example-rec-04-opioid-with-abuse-potential-context" - }, - "prefetch": { - "item1": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Patient", - "id": "example-rec-04-opioid-with-abuse-potential", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "gender": "male", - "birthDate": "1982-05-04" - } - }, - "item2": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-04-opioid-with-abuse-potential-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "active", - "intent": "order", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "community" - } - ] - } - ], - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" - } - ] - }, - "subject": { - "reference": "Patient/example-rec-04-opioid-with-abuse-potential" - }, - "authoredOn": "2022-07-20", - "dosageInstruction": [ - { - "timing": { - "repeat": { - "frequency": 1, - "period": 3.0, - "periodUnit": "d" - } - }, - "asNeededBoolean": false, - "doseAndRate": [ - { - "doseQuantity": { - "value": 1.0, - "unit": "patch", - "system": "http://unitsofmeasure.org", - "code": "{patch}" - } - } - ] - } - ], - "dispenseRequest": { - "numberOfRepeatsAllowed": 3, - "expectedSupplyDuration": { - "value": 30, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - } - }, - "item3": null, - "item4": null, - "item5": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "id": "example-rec-04-opioid-with-abuse-potential-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "finished", - "subject": { - "reference": "Patient/example-rec-04-opioid-with-abuse-potential" - }, - "period": { - "start": "2022-07-20", - "end": "2022-07-20" - } - } - } - } -} \ No newline at end of file diff --git a/input/pagecontent/responses/OpioidCDSREC04PatientView/response-example-rec-04-patient-view-new-patient.json b/input/pagecontent/responses/OpioidCDSREC04PatientView/response-example-rec-04-patient-view-new-patient.json deleted file mode 100644 index 11e34159..00000000 --- a/input/pagecontent/responses/OpioidCDSREC04PatientView/response-example-rec-04-patient-view-new-patient.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "cards": [] -} diff --git a/input/pagecontent/responses/OpioidCDSREC04PatientView/response-example-rec-04-patient-view-opioid-with-abuse-potential.json b/input/pagecontent/responses/OpioidCDSREC04PatientView/response-example-rec-04-patient-view-opioid-with-abuse-potential.json deleted file mode 100644 index 11e34159..00000000 --- a/input/pagecontent/responses/OpioidCDSREC04PatientView/response-example-rec-04-patient-view-opioid-with-abuse-potential.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "cards": [] -} diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index c6d45e5a..365ef4c7 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -108,8 +108,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.510Z", - "modified": "2022-08-08T19:42:27.510Z", - "headers": [], + "modified": "2022-08-18T20:50:34.190Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -319,26 +324,6 @@ }, "tests": [] }, - { - "_id": "08fc1968-6658-4fed-b2d4-54f3588319f2", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION_LAO", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.525Z", - "modified": "2022-08-08T19:42:27.525Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-04-long-acting-opioid.xml" - }, - "tests": [] - }, { "_id": "3a249b19-ac41-47e5-ab7e-aa9100bef7fd", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -598,8 +583,13 @@ "method": "POST", "sortNum": 22500, "created": "2022-08-08T19:42:27.537Z", - "modified": "2022-08-08T19:42:27.537Z", - "headers": [], + "modified": "2022-08-18T21:02:54.353Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -607,7 +597,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Recommend use of immediate-release opioids instead of extended release/long acting opioids when starting patient on opioids." + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "The following medication requests(s) release rates should be re-evaluated: " + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "59b236d3-de06-4761-abb0-e47be6b70d6b", @@ -669,26 +684,6 @@ }, "tests": [] }, - { - "_id": "b3a7b2b0-4058-4342-81e3-0f8b3012e44a", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_NP", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 25000, - "created": "2022-08-08T19:42:27.542Z", - "modified": "2022-08-08T19:42:27.542Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-04-new-patient.xml" - }, - "tests": [] - }, { "_id": "5ed47362-b8b4-4ea8-bb38-cf19f7a08445", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -979,26 +974,6 @@ }, "tests": [] }, - { - "_id": "3cf9b23a-fe7d-4013-9ebc-6e6775cab36b", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", - "name": "REQUEST_RETURN_NO_RECOMMENDATION_NP", - "url": "{{cdsHooksServer}}/opioidcds-04-patient-view", - "method": "POST", - "sortNum": 27500, - "created": "2022-08-08T19:42:27.556Z", - "modified": "2022-08-08T19:42:27.556Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json" - }, - "tests": [] - }, { "_id": "661f04d5-6177-4c6f-9231-38facc3858bd", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1147,26 +1122,6 @@ } ] }, - { - "_id": "78be1cc6-2373-489e-8d76-bb42febecc9b", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_NLAO", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.563Z", - "modified": "2022-08-08T19:42:27.563Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml" - }, - "tests": [] - }, { "_id": "86afa770-3ed7-4e89-8087-1aac90013de1", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1376,8 +1331,13 @@ "method": "POST", "sortNum": 35000, "created": "2022-08-08T19:42:27.575Z", - "modified": "2022-08-08T19:42:27.575Z", - "headers": [], + "modified": "2022-08-18T21:05:48.266Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1385,7 +1345,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "4e49bf75-0ae5-4923-a60b-3c82678bad53", @@ -1505,26 +1478,6 @@ } ] }, - { - "_id": "0f1ea5d3-6692-44bd-8b9a-811b9f3a6678", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWAP", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 40000, - "created": "2022-08-08T19:42:27.584Z", - "modified": "2022-08-08T19:42:27.584Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml" - }, - "tests": [] - }, { "_id": "b931b5e5-cd2c-4966-a8ec-a3eb97a0441d", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1893,26 +1846,6 @@ }, "tests": [] }, - { - "_id": "1354f038-d188-4eff-9454-8d30c72dbae4", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e18914b8-fe97-4ccb-ad2e-b817ba45af55", - "name": "REQUEST_RETURN_NO_RECOMMENDATION_OWAP", - "url": "{{cdsHooksServer}}/opioidcds-04-patient-view", - "method": "POST", - "sortNum": 50000, - "created": "2022-08-08T19:42:27.603Z", - "modified": "2022-08-08T19:42:27.603Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json" - }, - "tests": [] - }, { "_id": "694d27b1-4284-4711-b4a4-608023bea78f", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", From f247e86fb2bb69fdbb6823e8b76c097f4889a087 Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 17:27:05 -0600 Subject: [PATCH 11/24] Fixed rec 11 order-select tests - updated rec pages --- ...example-rec-05-mme-greater-than-fifty.json | 31 +-- ...mple-rec-11-benzo-trigger-with-opioid.json | 58 +----- ...e-rec-11-benzo-trigger-without-opioid.json | 14 +- ...mple-rec-11-opioid-trigger-with-benzo.json | 54 +---- ...e-rec-11-opioid-trigger-without-benzo.json | 14 +- thunder-tests/thunderclient.json | 192 +++++------------- 6 files changed, 108 insertions(+), 255 deletions(-) diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json index 14f8c6a1..2fe7dd0d 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json @@ -1,14 +1,11 @@ { "hookInstance": "4676f1ae-65c0-4935-9833-35a123e4767a", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-05-mme-greater-than-fifty", "encounterId": "Encounter/example-rec-05-mme-greater-than-fifty-context", - "selections": [ - "MedicationRequest/example-rec-05-mme-greater-than-fifty-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,23 +61,31 @@ "encounter": { "reference": "Encounter/example-rec-05-mme-greater-than-fifty-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { "repeat": { "frequency": 1, - "period": 3.0, + "period": 1.0, "periodUnit": "d" } }, - "asNeededBoolean": false + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1, + "unit": "PATCH" + } + } + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2023-02-02T00:00:00-07:00" + "start": "2022-08-18", + "end": "2023-02-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -111,7 +116,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -126,7 +131,7 @@ } ], "gender": "female", - "birthDate": "1982-05-04" + "birthDate": "2002-08-18" } }, "item4": null, diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json index d15e5b01..afdc2d4e 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json @@ -23,12 +23,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +64,7 @@ "encounter": { "reference": "Encounter/example-rec-11-benzo-trigger-with-opioid-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -89,8 +89,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-04-28", - "end": "2022-07-28" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -119,7 +119,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -134,7 +134,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": null, @@ -142,43 +142,7 @@ "item4": null, "item5": null, "item6": null, - "item7": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "id": "example-rec-11-benzo-trigger-with-opioid-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "finished", - "subject": { - "reference": "Patient/example-rec-11-benzo-trigger-with-opioid" - }, - "period": { - "start": "2022-07-07", - "end": "2022-07-07" - } - } - }, + "item7": null, "item8": null, "item9": { "response": { @@ -193,7 +157,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -259,8 +223,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-03", + "end": "2022-11-03" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json index 74d7fa39..4e06eeb2 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json @@ -23,12 +23,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +64,7 @@ "encounter": { "reference": "Encounter/example-rec-11-benzo-trigger-without-opioid-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -89,8 +89,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -119,7 +119,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -134,7 +134,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": null, diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json index 06be269f..072fc3bc 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json @@ -23,12 +23,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +64,7 @@ "encounter": { "reference": "Encounter/example-rec-11-opioid-trigger-with-benzo-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -89,8 +89,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -119,7 +119,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -134,7 +134,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": null, @@ -152,7 +152,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -233,43 +233,7 @@ }, "item5": null, "item6": null, - "item7": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "id": "example-rec-11-opioid-trigger-with-benzo-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "finished", - "subject": { - "reference": "Patient/example-rec-11-opioid-trigger-with-benzo" - }, - "period": { - "start": "2022-05-05", - "end": "2022-05-05" - } - } - }, + "item7": null, "item8": null, "item9": null } diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json index f394205b..7968186d 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json @@ -23,12 +23,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +64,7 @@ "encounter": { "reference": "Encounter/example-rec-11-opioid-trigger-without-benzo-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -89,8 +89,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -119,7 +119,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -134,7 +134,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": null, diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index 365ef4c7..0372ea8a 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -133,8 +133,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.511Z", - "modified": "2022-08-08T19:42:27.511Z", - "headers": [], + "modified": "2022-08-18T21:48:03.950Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -273,8 +278,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.518Z", - "modified": "2022-08-08T19:42:27.518Z", - "headers": [], + "modified": "2022-08-18T23:15:12.142Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -324,26 +334,6 @@ }, "tests": [] }, - { - "_id": "3a249b19-ac41-47e5-ab7e-aa9100bef7fd", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "b0fbf830-156e-4743-b074-8c4523410667", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.526Z", - "modified": "2022-08-08T19:42:27.526Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml" - }, - "tests": [] - }, { "_id": "6c6fde18-2b0c-45fd-aeb2-8dde8a3b2e8f", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -464,26 +454,6 @@ }, "tests": [] }, - { - "_id": "e555bcfd-203b-4fc2-862d-98c9a25014cd", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION_BWO", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.533Z", - "modified": "2022-08-08T19:42:27.533Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml" - }, - "tests": [] - }, { "_id": "b670f7db-3422-4292-8bce-2b75f2c8672e", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -673,8 +643,13 @@ "method": "POST", "sortNum": 22500, "created": "2022-08-08T19:42:27.540Z", - "modified": "2022-08-08T19:42:27.540Z", - "headers": [], + "modified": "2022-08-18T23:15:30.470Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -724,26 +699,6 @@ }, "tests": [] }, - { - "_id": "0913d65f-8486-4fe2-9917-4fd497e7627f", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION_OWB", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 25000, - "created": "2022-08-08T19:42:27.545Z", - "modified": "2022-08-08T19:42:27.545Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml" - }, - "tests": [] - }, { "_id": "574e61d4-cb85-4dda-b73a-715a3d957dac", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -803,8 +758,13 @@ "method": "POST", "sortNum": 25000, "created": "2022-08-08T19:42:27.547Z", - "modified": "2022-08-08T19:42:27.547Z", - "headers": [], + "modified": "2022-08-18T21:48:17.623Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1003,8 +963,13 @@ "method": "POST", "sortNum": 27500, "created": "2022-08-08T19:42:27.558Z", - "modified": "2022-08-08T19:42:27.558Z", - "headers": [], + "modified": "2022-08-18T23:19:09.978Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1122,26 +1087,6 @@ } ] }, - { - "_id": "86afa770-3ed7-4e89-8087-1aac90013de1", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "b0fbf830-156e-4743-b074-8c4523410667", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.564Z", - "modified": "2022-08-08T19:42:27.564Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-05-mme-less-than-fifty.xml" - }, - "tests": [] - }, { "_id": "e4dfd170-7ca9-45d2-8a48-49aac46c485d", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1242,26 +1187,6 @@ }, "tests": [] }, - { - "_id": "155a2fb3-7450-480f-8603-da844896fe9e", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_BWOO", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.570Z", - "modified": "2022-08-08T19:42:27.570Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml" - }, - "tests": [] - }, { "_id": "02cbcb61-1826-4747-bcce-d98c14f493ce", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1409,8 +1334,13 @@ "method": "POST", "sortNum": 35000, "created": "2022-08-08T19:42:27.578Z", - "modified": "2022-08-08T19:42:27.578Z", - "headers": [], + "modified": "2022-08-18T23:23:14.781Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1518,26 +1448,6 @@ }, "tests": [] }, - { - "_id": "f3cb3907-f0c0-427e-8fa1-c240277034dc", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "a751f548-6e07-445a-b289-fe435b4e4591", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWOB", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 40000, - "created": "2022-08-08T19:42:27.587Z", - "modified": "2022-08-08T19:42:27.587Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml" - }, - "tests": [] - }, { "_id": "b3529afb-a253-4874-8edd-77020f1a1382", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1567,8 +1477,13 @@ "method": "POST", "sortNum": 40000, "created": "2022-08-08T19:42:27.589Z", - "modified": "2022-08-08T19:42:27.589Z", - "headers": [], + "modified": "2022-08-18T21:48:27.201Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1875,8 +1790,13 @@ "method": "POST", "sortNum": 50000, "created": "2022-08-08T19:42:27.605Z", - "modified": "2022-08-08T19:42:27.605Z", - "headers": [], + "modified": "2022-08-18T23:26:32.321Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", From e99ace6d0556f7fc68b8af25a5087ba1c339767c Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 17:53:02 -0600 Subject: [PATCH 12/24] Updated rec 11 order-select tests --- thunder-tests/thunderclient.json | 92 +++++++++++++++++++++++++++++--- 1 file changed, 84 insertions(+), 8 deletions(-) diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index 0372ea8a..baeaae2b 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -643,7 +643,7 @@ "method": "POST", "sortNum": 22500, "created": "2022-08-08T19:42:27.540Z", - "modified": "2022-08-18T23:15:30.470Z", + "modified": "2022-08-18T23:51:22.061Z", "headers": [ { "name": "Content-Type", @@ -657,7 +657,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Avoid prescribing opioid pain medication and benzodiazepine concurrently whenever possible." + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "The benzodiazepine prescription request is concurrent with an active opioid prescription" + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "5ed47362-b8b4-4ea8-bb38-cf19f7a08445", @@ -963,7 +988,7 @@ "method": "POST", "sortNum": 27500, "created": "2022-08-08T19:42:27.558Z", - "modified": "2022-08-18T23:19:09.978Z", + "modified": "2022-08-18T23:48:28.500Z", "headers": [ { "name": "Content-Type", @@ -977,7 +1002,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Avoid prescribing opioid pain medication and benzodiazepine concurrently whenever possible." + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "The opioid prescription request is concurrent with an active benzodiazepine prescription" + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "3debcd38-1e02-4a49-9842-1a9c85e272ce", @@ -1334,7 +1384,7 @@ "method": "POST", "sortNum": 35000, "created": "2022-08-08T19:42:27.578Z", - "modified": "2022-08-18T23:23:14.781Z", + "modified": "2022-08-18T23:49:40.520Z", "headers": [ { "name": "Content-Type", @@ -1348,7 +1398,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "d0ef4bad-584c-478a-ac7c-af76ff9d7d8b", @@ -1790,7 +1853,7 @@ "method": "POST", "sortNum": 50000, "created": "2022-08-08T19:42:27.605Z", - "modified": "2022-08-18T23:26:32.321Z", + "modified": "2022-08-18T23:35:36.196Z", "headers": [ { "name": "Content-Type", @@ -1804,7 +1867,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "ddb3a7b5-eb5c-402f-9824-f6b52f6e956a", From 6188af9f0c52085670e7f2dba1b56a47634a483b Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 18:39:54 -0600 Subject: [PATCH 13/24] Updated rec 11 patient-view tests --- ...atient-view-benzo-trigger-with-opioid.json | 20 +- ...ent-view-benzo-trigger-without-opioid.json | 12 +- ...atient-view-opioid-trigger-with-benzo.json | 22 +- ...ent-view-opioid-trigger-without-benzo.json | 12 +- thunder-tests/thunderclient.json | 209 ++++++++++-------- 5 files changed, 148 insertions(+), 127 deletions(-) diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json index a742f927..9374f86c 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json @@ -21,7 +21,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -36,7 +36,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": { @@ -52,7 +52,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -93,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-11-benzo-trigger-with-opioid-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -118,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -144,7 +144,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -185,7 +185,7 @@ "encounter": { "reference": "Encounter/example-rec-11-benzo-trigger-with-opioid-prefetch" }, - "authoredOn": "2022-07-07", + "authoredOn": "2022-07-18", "dosageInstruction": [ { "timing": { @@ -210,8 +210,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-07-07T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-07-18", + "end": "2022-10-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json index 83d87664..a9ff1b63 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json @@ -21,7 +21,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -36,7 +36,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": { @@ -52,7 +52,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -93,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-11-benzo-trigger-without-opioid-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -118,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json index 9407f2a4..51c248bc 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json @@ -21,7 +21,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -36,7 +36,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": { @@ -52,7 +52,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -93,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-11-opioid-trigger-with-benzo-prefetch" }, - "authoredOn": "2022-07-07", + "authoredOn": "2022-07-18", "dosageInstruction": [ { "timing": { @@ -118,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-07-07T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-07-18", + "end": "2022-10-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -144,7 +144,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -180,12 +180,12 @@ ] }, "subject": { - "reference": "example-rec-11-opioid-trigger-with-benzo-context" + "reference": "example-rec-11-opioid-trigger-with-benzo" }, "encounter": { "reference": "Encounter/example-rec-11-opioid-trigger-with-benzo-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -210,8 +210,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json index 9c17fd14..9dbb51b6 100644 --- a/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json @@ -21,7 +21,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -36,7 +36,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": { @@ -52,7 +52,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -93,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-11-opioid-trigger-without-benzo-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -118,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index baeaae2b..4e474188 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -303,8 +303,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.519Z", - "modified": "2022-08-08T19:42:27.519Z", - "headers": [], + "modified": "2022-08-19T00:06:20.615Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -474,26 +479,6 @@ }, "tests": [] }, - { - "_id": "21c9b5e9-9b34-4156-abe6-c767610556ee", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION_BWO", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.535Z", - "modified": "2022-08-08T19:42:27.535Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml" - }, - "tests": [] - }, { "_id": "c2c3035f-afd4-40e9-9b78-76e5b11517e4", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -888,8 +873,13 @@ "method": "POST", "sortNum": 25000, "created": "2022-08-08T19:42:27.552Z", - "modified": "2022-08-08T19:42:27.552Z", - "headers": [], + "modified": "2022-08-19T00:07:50.789Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -897,7 +887,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Patient has active prescriptions for opioid pain medication and benzodiazepines" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Avoid prescribing opioid pain medication and benzodiazepines concurrently whenever possible" + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "8fee184a-34de-4e68-905d-3ff6edd81ae6", @@ -1277,26 +1292,6 @@ }, "tests": [] }, - { - "_id": "1456d582-f4bd-4087-a9af-fb4ba5c85a5d", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION_OWB", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.573Z", - "modified": "2022-08-08T19:42:27.573Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml" - }, - "tests": [] - }, { "_id": "e015296e-39b0-4a39-b1c2-4098c70142fe", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1422,8 +1417,13 @@ "method": "POST", "sortNum": 35000, "created": "2022-08-08T19:42:27.579Z", - "modified": "2022-08-08T19:42:27.579Z", - "headers": [], + "modified": "2022-08-19T00:35:46.834Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1431,7 +1431,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Patient has active prescriptions for opioid pain medication and benzodiazepines" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Avoid prescribing opioid pain medication and benzodiazepines concurrently whenever possible" + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "7fb65aec-200c-4f6c-896f-bebe69470216", @@ -1511,26 +1536,6 @@ }, "tests": [] }, - { - "_id": "b3529afb-a253-4874-8edd-77020f1a1382", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_BWOO", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 40000, - "created": "2022-08-08T19:42:27.588Z", - "modified": "2022-08-08T19:42:27.588Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml" - }, - "tests": [] - }, { "_id": "a8ce9277-d070-414b-a06a-295d3a15ea97", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1723,8 +1728,13 @@ "method": "POST", "sortNum": 45000, "created": "2022-08-08T19:42:27.597Z", - "modified": "2022-08-08T19:42:27.597Z", - "headers": [], + "modified": "2022-08-19T00:37:38.308Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1732,7 +1742,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "460ccd3e-63a5-40d1-b0c6-4dd88a1c474c", @@ -1804,26 +1827,6 @@ }, "tests": [] }, - { - "_id": "cacdfe69-f98f-4bf7-ac19-2fd8faa33247", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e6c8fc77-40f7-4fb2-8f4c-ee80f263dba0", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWOB", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 50000, - "created": "2022-08-08T19:42:27.602Z", - "modified": "2022-08-08T19:42:27.602Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml" - }, - "tests": [] - }, { "_id": "694d27b1-4284-4711-b4a4-608023bea78f", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1969,8 +1972,13 @@ "method": "POST", "sortNum": 60000, "created": "2022-08-08T19:42:27.609Z", - "modified": "2022-08-08T19:42:27.609Z", - "headers": [], + "modified": "2022-08-19T00:38:41.800Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1978,7 +1986,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "2805d5d6-eab6-46de-a346-76c44680825b", From 90e68d5a2d79b42005d43d872b8ee7a84f3cb790 Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 19:48:22 -0600 Subject: [PATCH 14/24] Updated rec 5 tests and rec pages --- input/pagecontent/recommendation-05.xml | 8 ++-- .../recommendation-11-order-select.xml | 6 +-- .../recommendation-11-patient-view.xml | 6 +-- ...example-rec-05-mme-greater-than-fifty.json | 3 +- ...st-example-rec-05-mme-less-than-fifty.json | 37 +++++++++------ thunder-tests/thunderclient.json | 46 +++++++++++++++++-- 6 files changed, 71 insertions(+), 35 deletions(-) diff --git a/input/pagecontent/recommendation-05.xml b/input/pagecontent/recommendation-05.xml index 34f54076..3bc469d6 100644 --- a/input/pagecontent/recommendation-05.xml +++ b/input/pagecontent/recommendation-05.xml @@ -100,19 +100,17 @@ - + - - + - - + diff --git a/input/pagecontent/recommendation-11-order-select.xml b/input/pagecontent/recommendation-11-order-select.xml index 47dad189..846b0eb9 100644 --- a/input/pagecontent/recommendation-11-order-select.xml +++ b/input/pagecontent/recommendation-11-order-select.xml @@ -85,7 +85,7 @@
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Patient is 18 or older. Patient has been prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RXNorm 197696) one patch per 3 days for 30 days.This will trigger the message "High risk for opioid overdose - taper now" It will then link to the "MME Conversation Tables" "https://www.cdc.gov/drugoverdose/pdf/calculating_total_daily_dose-a.pdf"Test BundlePatient is 18 or older. Patient has been prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RXNorm 197696) one patch per day for 30 days. This will trigger the message "High risk for opioid overdose - taper now" It will then link to the "MME Conversation Tables" "https://www.cdc.gov/drugoverdose/pdf/calculating_total_daily_dose-a.pdf" Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RXNorm 197696) one patch per 12 days for 30 days.The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test BundlePatient is 18 or older. Patient has been prescribed Morphine Sulfate 10 MG (RXNorm 892495) one tablet per day for 30 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned. Request JSON Response JSON
- + @@ -99,13 +99,11 @@ ii. Indicate that the benefits outweigh the risks and snooze for 3 months
iii. Indicate that it is not applicable, log a comment and snooze for 3 months - - @@ -119,13 +117,11 @@ ii. Indicate that the benefits outweigh the risks and snooze for 3 months
iii. Indicate that it is not applicable, log a comment and snooze for 3 months - - diff --git a/input/pagecontent/recommendation-11-patient-view.xml b/input/pagecontent/recommendation-11-patient-view.xml index 96ec8021..8c6e6305 100644 --- a/input/pagecontent/recommendation-11-patient-view.xml +++ b/input/pagecontent/recommendation-11-patient-view.xml @@ -85,7 +85,7 @@
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient is being prescribed Flurazepam Hydrochloride 15 MG Oral Capsule (RxNorm code 1298088), once per day for 30 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient is being prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet (RxNorm code 1049502), once per day for 30 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
- + @@ -100,13 +100,11 @@
iii. Indicate that it is not applicable, log a comment and snooze for 3 months - - @@ -121,13 +119,11 @@
iii. Indicate that it is not applicable, log a comment and snooze for 3 months - - diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json index 2fe7dd0d..8095c5aa 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json @@ -75,7 +75,8 @@ "doseAndRate": [ { "doseQuantity": { - "value": 1, + "value": 1.0, + "system": "http://unitsofmeasure.org", "unit": "PATCH" } } diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json index b239ba06..34924948 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json @@ -1,14 +1,11 @@ { "hookInstance": "2d1c3d80-69c7-444e-bd89-ce36dda0647d", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-05-mme-less-than-fifty", "encounterId": "Encounter/example-rec-05-mme-less-than-fifty-context", - "selections": [ - "MedicationRequest/example-rec-05-mme-less-than-fifty-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -53,8 +50,8 @@ "coding": [ { "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197696", - "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + "code": "892495", + "display": "Morphine Sulfate 10 MG [Kadian]" } ] }, @@ -64,23 +61,33 @@ "encounter": { "reference": "Encounter/example-rec-05-mme-less-than-fifty-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { "repeat": { "frequency": 1, - "period": 12.0, + "period": 1.0, "periodUnit": "d" } }, - "asNeededBoolean": false + "asNeededBoolean": false, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "TAB", + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "TAB" + } + } + ] } ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2023-02-02T00:00:00-07:00" + "start": "2022-08-18", + "end": "2023-02-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -111,7 +118,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -126,7 +133,7 @@ } ], "gender": "female", - "birthDate": "1982-05-04" + "birthDate": "2002-08-18" } }, "item4": null, diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index 4e474188..2ae827b4 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -768,7 +768,7 @@ "method": "POST", "sortNum": 25000, "created": "2022-08-08T19:42:27.547Z", - "modified": "2022-08-18T21:48:17.623Z", + "modified": "2022-08-19T01:21:07.104Z", "headers": [ { "name": "Content-Type", @@ -782,7 +782,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "High risk for opioid overdose - taper now" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Total morphine milligram equivalent (MME) is 180.0 '{MME}/d'. Taper to less than 50." + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "9ec4493a-4410-45c7-8dca-5b5ed884a540", @@ -1545,7 +1570,7 @@ "method": "POST", "sortNum": 40000, "created": "2022-08-08T19:42:27.589Z", - "modified": "2022-08-18T21:48:27.201Z", + "modified": "2022-08-19T01:44:46.284Z", "headers": [ { "name": "Content-Type", @@ -1559,7 +1584,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "49b537ab-d029-4816-847e-f9f6925213b5", From e878f2275051c81dfd697cd4a8d6cea0633786a7 Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 20:10:14 -0600 Subject: [PATCH 15/24] Updated rec 6 tests and rec pages --- input/pagecontent/recommendation-06.xml | 4 +- ...equest-example-rec-06-in-criteria-met.json | 21 ++-- ...e-rec-06-out-extended-release-27-days.json | 19 ++- thunder-tests/thunderclient.json | 109 ++++++++++-------- 4 files changed, 79 insertions(+), 74 deletions(-) diff --git a/input/pagecontent/recommendation-06.xml b/input/pagecontent/recommendation-06.xml index e5f3ffdf..13f71289 100644 --- a/input/pagecontent/recommendation-06.xml +++ b/input/pagecontent/recommendation-06.xml @@ -86,19 +86,17 @@
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient is being prescribed Flurazepam Hydrochloride 15 MG Oral Capsule (RxNorm code 1298088), once per day for 30 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient is being prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet (RxNorm code 1049502), once per day for 30 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
- + - - diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json index 6e80ad74..9780c0bf 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json @@ -1,13 +1,10 @@ { "hookInstance": "8ef84771-16e2-487c-8042-b097009b7d64", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-06-criteria-valid", - "selections": [ - "MedicationRequest/8280aeb5-db2e-4b2e-a80c-aaaa597762b3" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -22,12 +19,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -42,7 +39,7 @@ { "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community", "display": "Community" } @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-06-in-criteria-met-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -79,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -109,7 +106,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -123,7 +120,7 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } } } diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json index 7be6315d..d029e932 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json @@ -1,13 +1,10 @@ { "hookInstance": "c7107fd7-7be4-4837-9892-2f31b3224ffe", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-06-with-extended-release-for-27-days", - "selections": [ - "MedicationRequest/15fa9928-4f72-4ee3-ac61-1412d9fa446b" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -22,7 +19,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -42,7 +39,7 @@ { "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community", "display": "Community" } @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-06-out-extended-release-27-day-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -79,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -109,7 +106,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -123,7 +120,7 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } } } diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index 2ae827b4..a5de98c7 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -158,8 +158,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.512Z", - "modified": "2022-08-08T19:42:27.512Z", - "headers": [], + "modified": "2022-08-19T01:59:47.314Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -339,26 +344,6 @@ }, "tests": [] }, - { - "_id": "6c6fde18-2b0c-45fd-aeb2-8dde8a3b2e8f", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "83de11e6-fee3-49e2-afc5-402fe6a28c69", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.527Z", - "modified": "2022-08-08T19:42:27.527Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json" - }, - "tests": [] - }, { "_id": "a5140727-df91-4b3c-8944-36f62cc15c26", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -818,8 +803,13 @@ "method": "POST", "sortNum": 25000, "created": "2022-08-08T19:42:27.548Z", - "modified": "2022-08-08T19:42:27.548Z", - "headers": [], + "modified": "2022-08-19T02:08:42.247Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -827,7 +817,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Recommend limit therapy to <= 3 days to maximum of <= 7 days and to limit to immediate release opioids" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Medication requests(s): " + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "277cd1e8-ff4f-41fc-a27b-c6df5ae869d4", @@ -1177,26 +1192,6 @@ } ] }, - { - "_id": "e4dfd170-7ca9-45d2-8a48-49aac46c485d", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "83de11e6-fee3-49e2-afc5-402fe6a28c69", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.565Z", - "modified": "2022-08-08T19:42:27.565Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-06-criteria-valid.json" - }, - "tests": [] - }, { "_id": "6a0b6222-266e-49fe-8257-80be707d7607", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1608,8 +1603,13 @@ "method": "POST", "sortNum": 40000, "created": "2022-08-08T19:42:27.590Z", - "modified": "2022-08-08T19:42:27.590Z", - "headers": [], + "modified": "2022-08-19T02:09:05.941Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1617,7 +1617,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "e59e5d06-2742-4ffa-8ae6-8252a98dc9dd", From 2bb0d447d88a569824133bf5121823baf3f87f9d Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 22:57:33 -0600 Subject: [PATCH 16/24] Updated rec 7 tests and rec pages --- input/pagecontent/recommendation-07.xml | 8 +- ...-example-rec-07-end-of-life-exclusion.json | 59 +--- ...equest-example-rec-07-risk-assessment.json | 59 +--- ...example-rec-07-seven-of-past-ten-days.json | 50 +-- ...t-example-rec-07-six-of-past-ten-days.json | 44 ++- ...rec-07-sixtythree-of-past-ninety-days.json | 46 +-- ...e-rec-07-sixtytwo-of-past-ninety-days.json | 44 ++- thunder-tests/thunderclient.json | 309 ++++++++++-------- 8 files changed, 298 insertions(+), 321 deletions(-) diff --git a/input/pagecontent/recommendation-07.xml b/input/pagecontent/recommendation-07.xml index 4edc2085..a5922085 100644 --- a/input/pagecontent/recommendation-07.xml +++ b/input/pagecontent/recommendation-07.xml @@ -90,43 +90,37 @@
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Patient is 18 or older. Patient has been prescribed oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet (RXNorm 1049502). Patients "Dosage Instructions" are 1 Tablet per day for 5 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet (RXNorm 1049502).Patients "Dosage Instructions" are 1 Tablet per day for 27 days. The patient will be included and the following message will be triggered - "Recommend limit therapy to ≤ 3 days to maximum of ≤ 7 days and to limit to immediate release opioids".Test Bundle Request JSON Response JSON
- + - - - - - - diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json index c119a2b7..ee5c72c3 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json @@ -1,14 +1,11 @@ { "hookInstance": "10a3a703-86d7-4818-ae03-3f7e436bfd2a", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-07-end-of-life-exclusion", "encounterId": "Encounter/example-rec-07-end-of-life-exclusion-context", - "selections": [ - "MedicationRequest/example-rec-07-end-of-life-exclusion-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-07-end-of-life-exclusion-context" }, - "authoredOn": "2022-08-23", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -79,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-23T00:00:00-06:00", - "end": "2022-11-22T00:00:00-07:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -109,7 +106,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -175,43 +172,7 @@ } } }, - "item2": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "id": "example-rec-07-end-of-life-exclusion-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "finished", - "subject": { - "reference": "Patient/example-rec-07-end-of-life-exclusion" - }, - "period": { - "start": "2022-07-12", - "end": "2022-10-04" - } - } - }, + "item2": null, "item3": { "response": { "status": "200 OK" @@ -225,7 +186,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -240,7 +201,7 @@ } ], "gender": "male", - "birthDate": "1982-05-04" + "birthDate": "2002-08-18" } }, "item4": null, diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json index 7af78278..c5d15fac 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json @@ -1,14 +1,11 @@ { "hookInstance": "f4a85598-bc39-4c4f-a944-c876eb0e984e", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-07-risk-assessment", "encounterId": "Encounter/example-rec-07-risk-assessment-context", - "selections": [ - "MedicationRequest/example-rec-07-risk-assessment-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-07-risk-assessment-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -79,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -97,43 +94,7 @@ }, "prefetch": { "item1": null, - "item2": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "id": "example-rec-07-risk-assessment-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "finished", - "subject": { - "reference": "Patient/example-rec-07-risk-assessment" - }, - "period": { - "start": "2022-07-20", - "end": "2022-07-20" - } - } - }, + "item2": null, "item3": { "response": { "status": "200 OK" @@ -147,7 +108,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -162,7 +123,7 @@ } ], "gender": "male", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item4": { @@ -178,7 +139,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json index a960ca4a..891ccf3f 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json @@ -1,14 +1,11 @@ { "hookInstance": "fa44ba28-6895-4060-b7d0-9e86715e0e08", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-07-seven-of-past-ten-days", "encounterId": "Encounter/example-rec-07-seven-of-past-ten-days-context", - "selections": [ - "MedicationRequest/example-rec-07-seven-of-past-ten-days-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-07-seven-of-past-ten-days-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -79,12 +76,12 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { - "value": 7.0, + "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -109,7 +106,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -147,7 +144,7 @@ "subject": { "reference": "Patient/example-rec-07-seven-of-past-ten-days" }, - "authoredOn": "2022-07-24", + "authoredOn": "2022-08-10", "dosageInstruction": [ { "timing": { @@ -162,8 +159,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-07-24T00:00:00-06:00", - "end": "2022-08-03T00:00:00-06:00" + "start": "2022-08-10", + "end": "2022-08-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -175,20 +172,19 @@ } } }, - "item2": { + "item2": { "response": { "status": "200 OK" }, "resource": { "resourceType": "Encounter", - "id": "example-rec-07-seven-of-past-ten-days-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -202,13 +198,25 @@ ] } ], + "id": "example-rec-07-seven-of-past-ten-days-prefetch", "status": "finished", + "type": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "185463005", + "display": "Visit out of hours (procedure)" + } + ] + } + ], "subject": { "reference": "Patient/example-rec-07-seven-of-past-ten-days" }, "period": { - "start": "2022-07-24", - "end": "2022-07-24" + "start" :"2022-08-08", + "end": "2022-08-08" } } }, @@ -225,7 +233,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -240,7 +248,7 @@ } ], "gender": "male", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item4": null, diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json index 43ceea88..6d72a795 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json @@ -1,14 +1,11 @@ { "hookInstance": "d23ec776-f58a-4902-b0a4-6ef3d9f59309", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-07-six-of-past-ten-days", "encounterId": "Encounter/example-rec-07-six-of-past-ten-days-context", - "selections": [ - "MedicationRequest/example-rec-07-six-of-past-ten-days-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -79,12 +76,12 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { - "value": 6.0, + "value": 30.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -109,7 +106,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -147,7 +144,7 @@ "subject": { "reference": "Patient/example-rec-07-six-of-past-ten-days" }, - "authoredOn": "2022-07-24", + "authoredOn": "2022-07-09", "dosageInstruction": [ { "timing": { @@ -162,8 +159,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-07-24T00:00:00-06:00", - "end": "2022-08-03T00:00:00-06:00" + "start": "2022-07-09", + "end": "2022-07-19" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -188,7 +185,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -203,12 +200,23 @@ } ], "status": "finished", + "type": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "185463005", + "display": "Visit out of hours (procedure)" + } + ] + } + ], "subject": { "reference": "Patient/example-rec-07-six-of-past-ten-days" }, "period": { - "start": "2022-07-24", - "end": "2022-07-24" + "start": "2022-07-09", + "end": "2022-07-09" } } }, @@ -225,7 +233,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -240,7 +248,7 @@ } ], "gender": "male", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item4": null, diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json index bd132c1c..9d869bba 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json @@ -1,14 +1,11 @@ { "hookInstance": "d4318443-3981-4def-b852-dbb47ec1827b", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-07-sixtythree-of-past-ninety-days", "encounterId": "Encounter/example-rec-07-sixtythree-of-past-ninety-days-context", - "selections": [ - "MedicationRequest/example-rec-07-sixtythree-of-past-ninety-days-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-07-sixtythree-of-past-ninety-days-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -79,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -109,7 +106,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -147,7 +144,7 @@ "subject": { "reference": "Patient/example-rec-07-sixtythree-of-past-ninety-days" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-05-18", "dosageInstruction": [ { "timing": { @@ -162,12 +159,12 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-05-05T00:00:00-06:00", - "end": "2022-08-03T00:00:00-06:00" + "start": "2022-05-18", + "end": "2022-08-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { - "value": 63.0, + "value": 90.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -188,7 +185,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -203,12 +200,23 @@ } ], "status": "finished", + "type": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "185463005", + "display": "Visit out of hours (procedure)" + } + ] + } + ], "subject": { "reference": "Patient/example-rec-07-sixtythree-of-past-ninety-days" }, "period": { - "start": "2022-05-05", - "end": "2022-05-05" + "start": "2022-05-18", + "end": "2022-05-18" } } }, @@ -225,7 +233,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -240,7 +248,7 @@ } ], "gender": "male", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item4": null, diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json index 31cf739b..78e985cf 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json @@ -1,14 +1,11 @@ { "hookInstance": "e0493f61-6b3e-4eab-a6f9-45cd54ef5558", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-07-sixtytwo-of-past-ninety-days", "encounterId": "Encounter/example-rec-07-sixtytwo-of-past-ninety-days-context", - "selections": [ - "MedicationRequest/example-rec-07-sixtytwo-of-past-ninety-days-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-07-sixtytwo-of-past-ninety-days-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -79,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -109,7 +106,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -147,7 +144,7 @@ "subject": { "reference": "Patient/example-rec-07-sixtytwo-of-past-ninety-days" }, - "authoredOn": "2022-05-05", + "authoredOn": "2022-05-18", "dosageInstruction": [ { "timing": { @@ -162,8 +159,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-05-05T00:00:00-06:00", - "end": "2022-08-03T00:00:00-06:00" + "start": "2022-05-18", + "end": "2022-08-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -188,7 +185,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -203,12 +200,23 @@ } ], "status": "finished", + "type": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "185463005", + "display": "Visit out of hours (procedure)" + } + ] + } + ], "subject": { "reference": "Patient/example-rec-07-sixtytwo-of-past-ninety-days" }, "period": { - "start": "2022-05-05", - "end": "2022-05-05" + "start": "2022-05-18", + "end": "2022-05-18" } } }, @@ -225,7 +233,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -240,7 +248,7 @@ } ], "gender": "male", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item4": null, diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index a5de98c7..99e64534 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -183,8 +183,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.513Z", - "modified": "2022-08-08T19:42:27.513Z", - "headers": [], + "modified": "2022-08-19T02:13:24.347Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -344,26 +349,6 @@ }, "tests": [] }, - { - "_id": "a5140727-df91-4b3c-8944-36f62cc15c26", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION_7OF10", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.528Z", - "modified": "2022-08-08T19:42:27.528Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml" - }, - "tests": [] - }, { "_id": "c8559a61-802d-417d-9d44-350da7863903", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -573,8 +558,13 @@ "method": "POST", "sortNum": 22500, "created": "2022-08-08T19:42:27.538Z", - "modified": "2022-08-08T19:42:27.538Z", - "headers": [], + "modified": "2022-08-19T04:23:50.719Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -582,7 +572,38 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "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." + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "No evaluation for benefits and harms has been performed for the patient starting opioid therapy" + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + }, + { + "type": "json-query", + "custom": "json.cards[0].suggestions[0].actions[0].resource.resourceType", + "action": "equal", + "value": "ServiceRequest" + } + ] }, { "_id": "b58520cd-5326-41bd-bf4a-0d723ef670dd", @@ -654,26 +675,6 @@ } ] }, - { - "_id": "5ed47362-b8b4-4ea8-bb38-cf19f7a08445", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION_63OF90", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 25000, - "created": "2022-08-08T19:42:27.543Z", - "modified": "2022-08-08T19:42:27.543Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml" - }, - "tests": [] - }, { "_id": "8534ef2c-e708-4366-ac39-d34106a3a83f", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1023,8 +1024,13 @@ "method": "POST", "sortNum": 27500, "created": "2022-08-08T19:42:27.557Z", - "modified": "2022-08-08T19:42:27.557Z", - "headers": [], + "modified": "2022-08-19T04:50:32.434Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1032,7 +1038,38 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "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." + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "No evaluation for benefits and harms associated with opioid therapy has been performed for the patient in the past 3 months" + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + }, + { + "type": "json-query", + "custom": "json.cards[0].suggestions[0].actions[0].resource.resourceType", + "action": "equal", + "value": "ServiceRequest" + } + ] }, { "_id": "50b9f93e-455b-4c66-97dc-dfd252618db2", @@ -1192,26 +1229,6 @@ } ] }, - { - "_id": "6a0b6222-266e-49fe-8257-80be707d7607", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_EOLE", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.566Z", - "modified": "2022-08-08T19:42:27.566Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-07-end-of-life-exclusion.xml" - }, - "tests": [] - }, { "_id": "a6590515-c51a-4dcc-90fe-ab3ac5bdb042", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1359,8 +1376,13 @@ "method": "POST", "sortNum": 35000, "created": "2022-08-08T19:42:27.576Z", - "modified": "2022-08-08T19:42:27.576Z", - "headers": [], + "modified": "2022-08-19T02:14:33.689Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1368,7 +1390,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "db06b613-678d-46e2-ab0b-1f61c24ca355", @@ -1516,26 +1551,6 @@ } ] }, - { - "_id": "b931b5e5-cd2c-4966-a8ec-a3eb97a0441d", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_RA", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 40000, - "created": "2022-08-08T19:42:27.585Z", - "modified": "2022-08-08T19:42:27.585Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-07-risk-assessment.xml" - }, - "tests": [] - }, { "_id": "9f296bea-2b0c-406f-adb5-cc12dc661b4a", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1759,8 +1774,13 @@ "method": "POST", "sortNum": 45000, "created": "2022-08-08T19:42:27.596Z", - "modified": "2022-08-08T19:42:27.596Z", - "headers": [], + "modified": "2022-08-19T02:18:38.167Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1768,7 +1788,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "fec9233f-e865-4364-8b3a-b90a8e91d001", @@ -1858,26 +1891,6 @@ } ] }, - { - "_id": "99c9aa17-8cc9-47a4-bc97-d2bf311a1cfb", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_6OF10", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 50000, - "created": "2022-08-08T19:42:27.601Z", - "modified": "2022-08-08T19:42:27.601Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-07-six-of-past-ten-days.xml" - }, - "tests": [] - }, { "_id": "694d27b1-4284-4711-b4a4-608023bea78f", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1945,8 +1958,13 @@ "method": "POST", "sortNum": 55000, "created": "2022-08-08T19:42:27.606Z", - "modified": "2022-08-08T19:42:27.606Z", - "headers": [], + "modified": "2022-08-19T04:28:27.623Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1954,27 +1972,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json" }, - "tests": [] - }, - { - "_id": "a8aa5912-d2f7-4b8c-a2b0-e9301dd8081f", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "80178ff3-77a4-433a-b421-44fb9fcd11ac", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_62OF90", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 60000, - "created": "2022-08-08T19:42:27.607Z", - "modified": "2022-08-08T19:42:27.607Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml" - }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "ed511944-ff88-47bf-aed2-a0537b5f64f9", @@ -2061,8 +2072,13 @@ "method": "POST", "sortNum": 70000, "created": "2022-08-08T19:42:27.610Z", - "modified": "2022-08-08T19:42:27.610Z", - "headers": [], + "modified": "2022-08-19T04:56:44.890Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -2070,7 +2086,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "e3be1964-d851-440f-a537-7f1ab874e1ae", From 30fa9a19c2cb7db7f3e1e4f02d5dc0a7fe8d89c4 Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 23:39:57 -0600 Subject: [PATCH 17/24] Updated rec 8 tests and rec pages --- input/pagecontent/recommendation-08.xml | 7 +- ...example-rec-08-mme-greater-than-fifty.json | 19 +- ...st-example-rec-08-mme-less-than-fifty.json | 19 +- ...uest-example-rec-08-on-benzodiazepine.json | 29 +- .../request-example-rec-08-on-naloxone.json | 27 +- ...equest-example-rec-08-substance-abuse.json | 67 +---- thunder-tests/thunderclient.json | 275 ++++++++++-------- 7 files changed, 206 insertions(+), 237 deletions(-) diff --git a/input/pagecontent/recommendation-08.xml b/input/pagecontent/recommendation-08.xml index de6e3232..6290754f 100644 --- a/input/pagecontent/recommendation-08.xml +++ b/input/pagecontent/recommendation-08.xml @@ -90,37 +90,32 @@
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Patient is 18 or older. Patient has been prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet (RXNorm 1049502).one tablet per day for 30 days. Patient is also being prescribed maCarbinoxamineleate 0.4 MG/ML / Hydrocodone Bitartrate 1 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution (RXNorm 1012727) 3 tablets per day for 30 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet (RXNorm 1049502) 1 tablet per day for 30 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet (RXNorm 1049502) one tablet per 1 day for 7 days. Patient has also been prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet (RXNorm one tablet per 1 day for 7 days. "Assessment of risk for opioid use procedure." 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. Assessment of risk for opioid abuse (procedure)Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet. (RXNorm 1049502) one tablet per 1 day for 6 days. Patient has also been prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet (Rxnorm 0149502) one tablet per 1 day for 6 days.The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet (RXNorm 1049502) one tablet per 1 day for 30 days. Patient has also been prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet (RXNorm 1049502) one tablet per 1 day for 63 days. This will trigger the message "No evaluation for benefits and harms associated with opioid therapy has been performed for the patient in the past 3 months" 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.Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet (RXNorm 1049502) 1 tablet per 1 day for 30 days. Patient has also been prescribed 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet (RXNorm 1049502) 1 tablet per 1 day for 62 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
- + - - - - - diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json index 1a4cc493..b1470062 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json @@ -1,14 +1,11 @@ { "hookInstance": "229a709f-ee1c-4954-b7fd-72e6c46706dd", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-mme-greater-than-fifty", "encounterId": "Encounter/example-rec-08-mme-greater-than-fifty-context", - "selections": [ - "MedicationRequest/example-rec-08-mme-greater-than-fifty-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-08-mme-greater-than-fifty-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -88,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "quantity": { @@ -124,7 +121,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -139,7 +136,7 @@ } ], "gender": "male", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": null, diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json index e18cc18e..ad4847ae 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json @@ -1,14 +1,11 @@ { "hookInstance": "7d7eab76-d435-458d-8432-de2d35ccac9e", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-mme-less-than-fifty", "encounterId": "Encounter/example-rec-08-mme-less-than-fifty-context", - "selections": [ - "MedicationRequest/example-rec-08-mme-less-than-fifty-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-08-mme-less-than-fifty-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -88,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -118,7 +115,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -133,7 +130,7 @@ } ], "gender": "male", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": null, diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json index c383266a..e6b7aeda 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json @@ -1,14 +1,11 @@ { "hookInstance": "a3f05376-ec08-4102-a8ba-2c88c0af2f8f", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-on-benzodiazepine", "encounterId": "Encounter/example-rec-08-on-benzodiazepine-context", - "selections": [ - "MedicationRequest/example-rec-08-on-benzodiazepine-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-08-on-benzodiazepine-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -77,7 +74,7 @@ "doseAndRate": [ { "doseQuantity": { - "value": 1.0, + "value": 0.2, "unit": "patch", "system": "http://unitsofmeasure.org", "code": "{patch}" @@ -88,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -118,7 +115,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -133,7 +130,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": { @@ -149,7 +146,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -190,7 +187,7 @@ "encounter": { "reference": "Encounter/example-rec-08-on-benzodiazepine-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -214,8 +211,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json index deeffddf..aa258a08 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json @@ -1,14 +1,11 @@ { "hookInstance": "becfdcbd-0f8c-4f01-831c-a20ff695c5b3", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-on-naloxone", "encounterId": "Encounter/example-rec-08-on-naloxone-context", - "selections": [ - "MedicationRequest/example-rec-08-on-naloxone-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-08-on-naloxone-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -88,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -118,7 +115,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -133,7 +130,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": { @@ -149,7 +146,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -190,7 +187,7 @@ "encounter": { "reference": "Encounter/example-rec-08-on-naloxone-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -214,8 +211,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json index c29d4000..17432233 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json @@ -1,14 +1,11 @@ { "hookInstance": "b32cab7a-75ea-4cd1-9514-20ebf473cac9", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-08-substance-abuse", "encounterId": "Encounter/example-rec-08-substance-abuse-context", - "selections": [ - "MedicationRequest/example-rec-08-substance-abuse-context" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -23,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -64,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-08-substance-abuse-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -77,7 +74,7 @@ "doseAndRate": [ { "doseQuantity": { - "value": 1.0, + "value": 0.2, "unit": "patch", "system": "http://unitsofmeasure.org", "code": "{patch}" @@ -88,16 +85,10 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, - "quantity": { - "value": 30, - "unit": "patch", - "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", - "code": "patch" - }, "expectedSupplyDuration": { "value": 30.0, "unit": "days", @@ -124,7 +115,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -139,46 +130,10 @@ } ], "gender": "female", - "birthDate": "1982-04-14" - } - }, - "item2": { - "response": { - "status": "200 OK" - }, - "resource": { - "resourceType": "Encounter", - "id": "example-rec-08-substance-abuse-prefetch", - "extension": [ - { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ - { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, - { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } - ] - } - ], - "status": "finished", - "subject": { - "reference": "Patient/example-rec-08-substance-abuse" - }, - "period": { - "start": "2022-07-20", - "end": "2022-07-20" - } + "birthDate": "2002-08-18" } }, + "item2": null, "item3": { "response": { "status": "200 OK" @@ -192,7 +147,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index 99e64534..c8c1e105 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -208,8 +208,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.514Z", - "modified": "2022-08-08T19:42:27.514Z", - "headers": [], + "modified": "2022-08-19T05:09:36.589Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -349,26 +354,6 @@ }, "tests": [] }, - { - "_id": "c8559a61-802d-417d-9d44-350da7863903", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION_MMEGT50", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.529Z", - "modified": "2022-08-08T19:42:27.529Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml" - }, - "tests": [] - }, { "_id": "5857ae0d-fb8f-42fc-89ef-5786b02ba3cd", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -610,12 +595,17 @@ "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", "name": "REQUEST_RETURN_RECOMMENDATION_MMEGT50", - "url": "{{cdsHooksServer}}/opioidcds-08", + "url": "{{cdsHooksServer}}/opioidcds-08-order-sign", "method": "POST", "sortNum": 22500, "created": "2022-08-08T19:42:27.539Z", - "modified": "2022-08-08T19:42:27.539Z", - "headers": [], + "modified": "2022-08-19T05:13:27.129Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -623,7 +613,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Incorporate into the management plan strategies to mitigate risk; including considering offering naloxone when factors that increase risk for opioid overdose are present" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Consider offering naloxone given following risk factor(s) for opioid overdose: Average MME (180.0 '{MME}/d') >= 50 mg/d." + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "52ae2d1b-b5ff-46be-98bb-41ceac4bc3fa", @@ -675,26 +690,6 @@ } ] }, - { - "_id": "8534ef2c-e708-4366-ac39-d34106a3a83f", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION_ONBENZO", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 25000, - "created": "2022-08-08T19:42:27.544Z", - "modified": "2022-08-08T19:42:27.544Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-08-on-benzodiazepine.xml" - }, - "tests": [] - }, { "_id": "574e61d4-cb85-4dda-b73a-715a3d957dac", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -980,12 +975,17 @@ "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", "name": "REQUEST_RETURN_RECOMMENDATION_ONBENZO", - "url": "{{cdsHooksServer}}/opioidcds-08", + "url": "{{cdsHooksServer}}/opioidcds-08-order-sign", "method": "POST", "sortNum": 26250, "created": "2022-08-08T19:42:27.554Z", - "modified": "2022-08-08T19:42:27.554Z", - "headers": [], + "modified": "2022-08-19T05:21:46.791Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -993,27 +993,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json" }, - "tests": [] - }, - { - "_id": "bf3fb99b-d3fa-4748-8b5b-fedae7add088", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION_SA", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 27500, - "created": "2022-08-08T19:42:27.555Z", - "modified": "2022-08-08T19:42:27.555Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-08-substance-abuse.xml" - }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Incorporate into the management plan strategies to mitigate risk; including considering offering naloxone when factors that increase risk for opioid overdose are present" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Consider offering naloxone given following risk factor(s) for opioid overdose: Average MME (180.0 '{MME}/d') >= 50 mg/d, concurrent use of benzodiazepine." + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "661f04d5-6177-4c6f-9231-38facc3858bd", @@ -1126,12 +1131,17 @@ "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", "name": "REQUEST_RETURN_RECOMMENDATION_SA", - "url": "{{cdsHooksServer}}/opioidcds-08", + "url": "{{cdsHooksServer}}/opioidcds-08-order-sign", "method": "POST", "sortNum": 28750, "created": "2022-08-08T19:42:27.559Z", - "modified": "2022-08-08T19:42:27.559Z", - "headers": [], + "modified": "2022-08-19T05:26:46.383Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1139,7 +1149,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Incorporate into the management plan strategies to mitigate risk; including considering offering naloxone when factors that increase risk for opioid overdose are present" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Consider offering naloxone given following risk factor(s) for opioid overdose: Average MME (180.0 '{MME}/d') >= 50 mg/d, history of alcohol or drug abuse." + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "d1e4c13f-3f47-44cc-9e38-642f2f7c7a20", @@ -1229,26 +1264,6 @@ } ] }, - { - "_id": "a6590515-c51a-4dcc-90fe-ab3ac5bdb042", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_MMELT50", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.567Z", - "modified": "2022-08-08T19:42:27.567Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-08-mme-less-than-fifty.xml" - }, - "tests": [] - }, { "_id": "bc93529d-0562-442d-8e01-b190c15c468d", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1410,12 +1425,17 @@ "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", "name": "REQUEST_RETURN_NO_RECOMMENDATION_MMELT50", - "url": "{{cdsHooksServer}}/opioidcds-08", + "url": "{{cdsHooksServer}}/opioidcds-08-order-sign", "method": "POST", "sortNum": 35000, "created": "2022-08-08T19:42:27.577Z", - "modified": "2022-08-08T19:42:27.577Z", - "headers": [], + "modified": "2022-08-19T05:16:36.980Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1423,7 +1443,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "57d1d45f-0bd5-4653-bf99-7264bcbdb743", @@ -1551,26 +1584,6 @@ } ] }, - { - "_id": "9f296bea-2b0c-406f-adb5-cc12dc661b4a", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION_ONNALOX", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 40000, - "created": "2022-08-08T19:42:27.586Z", - "modified": "2022-08-08T19:42:27.586Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-08-on-naloxone.xml" - }, - "tests": [] - }, { "_id": "a8ce9277-d070-414b-a06a-295d3a15ea97", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1896,12 +1909,17 @@ "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", "containerId": "e71241b7-96da-4029-b97f-a9c476554d5b", "name": "REQUEST_RETURN_NO_RECOMMENDATION_ONNALOX", - "url": "{{cdsHooksServer}}/opioidcds-08", + "url": "{{cdsHooksServer}}/opioidcds-08-order-sign", "method": "POST", "sortNum": 50000, "created": "2022-08-08T19:42:27.604Z", - "modified": "2022-08-08T19:42:27.604Z", - "headers": [], + "modified": "2022-08-19T05:29:32.021Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1909,7 +1927,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "cfef4767-2df4-42f2-945d-a28b54808c8e", From 5fc17cb15f63b563847b94e354f3c40aaac17aed Mon Sep 17 00:00:00 2001 From: c-schuler Date: Thu, 18 Aug 2022 23:52:43 -0600 Subject: [PATCH 18/24] Updated rec 9 tests and rec pages --- input/pagecontent/recommendation-09.xml | 4 +- ...equest-example-rec-09-in-criteria-met.json | 31 +++-- ...xample-rec-09-out-PDMP-review-90-days.json | 47 +++++--- thunder-tests/thunderclient.json | 109 ++++++++++-------- 4 files changed, 108 insertions(+), 83 deletions(-) diff --git a/input/pagecontent/recommendation-09.xml b/input/pagecontent/recommendation-09.xml index 700d52a7..94f9a07f 100644 --- a/input/pagecontent/recommendation-09.xml +++ b/input/pagecontent/recommendation-09.xml @@ -87,20 +87,18 @@
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Patient is 18 or older. Patient has been prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RXNorm 197696) 1 patch per 10 days for 30 days. This will trigger the message "Incorporate into the management plan strategies to mitigate risk; including considering offering naloxone when factors that increase risk for opioid overdose are present." Consider offering naloxone given following risk factor(s) for opioid overdose: Average MME (54.000000 'mg/d') >= 50 mg/day.Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RXNorm 197696) 1 patch per 12 days for 30 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RXNorm 197696) 1 patch per 12 days for 30 days. Patient has also been prescribed Temazepam 20 MG Oral Tablet (RXNorm 104693) 1 tablet per 1 day for 30 days. This will trigger the message “Incorporate into the management plan strategies to mitigate risk; including considering offering naloxone when factors that increase risk for opioid overdose are present. Consider offering naloxone given following risk factor(s) for opioid overdose: concurrent use of benzodiazepine.Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RXNorm 197696) 1 patch per 12 days for 30 days. Patient has also been prescribed Naloxone Hydrochloride 0.02 MG/ML Injectable Solution (RXNorm 1191212) 1ml per 1 day for 30 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RXNorm 197696) 1 patch per 12 days for 30 days. This will trigger the message "Incorporate into the management plan strategies to mitigate risk; including considering offering naloxone when factors that increase risk for opioid overdose are present" Consider offering naloxone given following risk factor(s) for opioid overdose: history of alcohol or drug abuse.Test Bundle Request JSON Response JSON
- + - - diff --git a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json index 3b7fc62b..375bdb2d 100755 --- a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json @@ -1,13 +1,10 @@ { "hookInstance": "6a7fbd0e-f48e-4936-a2b6-dfeefed8575d", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-09-true-return-recommendations", - "selections": [ - "MedicationRequest/60640bf6-3845-4dbd-bf15-b2616118e8c8-3" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -22,7 +19,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -42,7 +39,7 @@ { "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community", "display": "Community" } @@ -61,7 +58,7 @@ "subject": { "reference": "Patient/example-rec-09-true-return-recommendations" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -76,8 +73,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -106,7 +103,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -120,7 +117,7 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } }, "item2": { @@ -136,7 +133,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -154,9 +151,9 @@ "code": { "coding": [ { - "system": "TODO", - "code": "Not In VS", - "display": "PDMP Data Review" + "system": "http://snomed.info/sct", + "code": "461651000124104", + "display": "Review of prescription drug monitoring program record done (situation)" } ] }, @@ -164,8 +161,8 @@ "reference": "Patient/example-rec-09-true-return-recommendations" }, "performedPeriod": { - "start": "2018-04-08T00:00:00-06:00", - "end": "2018-04-09T00:00:00-06:00" + "start": "2018-04-18", + "end": "2018-04-18" } } } diff --git a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json index 17acb5f1..927852a4 100755 --- a/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json @@ -1,13 +1,10 @@ { "hookInstance": "3efef233-82fa-461b-9436-c799313e9a90", "fhirServer": "http://localhost:8080/fhir", - "hook": "order-select", + "hook": "order-sign", "context": { "userId": "Practitioner/example", "patientId": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days", - "selections": [ - "MedicationRequest/f4540e09-8aaf-4d77-86be-9fd9a4d6a06c-3" - ], "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -22,7 +19,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -61,7 +58,7 @@ "subject": { "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -76,8 +73,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -106,7 +103,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -120,7 +117,7 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } }, "item2": { @@ -130,13 +127,33 @@ "resource": { "resourceType": "Procedure", "id": "d2e1e4f3-9117-46c3-a8ee-125c58674997", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-18" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], "status": "completed", "code": { "coding": [ { - "system": "TODO", - "code": "TODO", - "display": "PDMP Data Review" + "system": "http://snomed.info/sct", + "code": "461651000124104", + "display": "Review of prescription drug monitoring program record done (situation)" } ] }, @@ -144,8 +161,8 @@ "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" }, "performedPeriod": { - "start": "2022-02-07", - "end": "2022-02-08" + "start": "2022-06-18", + "end": "2022-06-18" } } } diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index c8c1e105..32bb043b 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -233,8 +233,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.515Z", - "modified": "2022-08-08T19:42:27.515Z", - "headers": [], + "modified": "2022-08-19T05:43:04.056Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -354,26 +359,6 @@ }, "tests": [] }, - { - "_id": "5857ae0d-fb8f-42fc-89ef-5786b02ba3cd", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "3f2e1468-e24b-4dea-847d-1a6e5d7805ad", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.530Z", - "modified": "2022-08-08T19:42:27.530Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-09-true-return-recommendations.json" - }, - "tests": [] - }, { "_id": "7804ec2a-b60e-4782-83fb-e3ffffcd516b", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -849,8 +834,13 @@ "method": "POST", "sortNum": 25000, "created": "2022-08-08T19:42:27.549Z", - "modified": "2022-08-08T19:42:27.549Z", - "headers": [], + "modified": "2022-08-19T05:48:30.328Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -858,7 +848,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Notify: PDMP data for this patient has not been reviewed in the past 90 days." + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Medication requests(s): " + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "7da36078-290b-4fdc-86da-fd7e480ece9f", @@ -1264,26 +1279,6 @@ } ] }, - { - "_id": "bc93529d-0562-442d-8e01-b190c15c468d", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "3f2e1468-e24b-4dea-847d-1a6e5d7805ad", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.568Z", - "modified": "2022-08-08T19:42:27.568Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json" - }, - "tests": [] - }, { "_id": "9a225c74-2fee-4cc7-bc30-e6b0258d6688", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1669,8 +1664,13 @@ "method": "POST", "sortNum": 40000, "created": "2022-08-08T19:42:27.591Z", - "modified": "2022-08-08T19:42:27.591Z", - "headers": [], + "modified": "2022-08-19T05:51:47.740Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1678,7 +1678,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "2d0c86a2-badc-488f-85c3-9a961f60dcae", From 791989f65deff454c7689549918a9068d6f43ff3 Mon Sep 17 00:00:00 2001 From: c-schuler Date: Fri, 19 Aug 2022 00:15:03 -0600 Subject: [PATCH 19/24] Updated rec 12 tests and rec pages --- input/pagecontent/recommendation-12.xml | 8 +- ...e-rec-12-patient-view-in-criteria-met.json | 8 +- ...rec-12-patient-view-out-opioid-misuse.json | 136 +++++++++++++++++- thunder-tests/thunderclient.json | 113 ++++++++------- 4 files changed, 199 insertions(+), 66 deletions(-) diff --git a/input/pagecontent/recommendation-12.xml b/input/pagecontent/recommendation-12.xml index 479afaf1..4b816fe9 100644 --- a/input/pagecontent/recommendation-12.xml +++ b/input/pagecontent/recommendation-12.xml @@ -143,19 +143,17 @@
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Patient is 18 or older. Patient has been prescribed Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) Patients "Dosage Instructions" are 1 FIlm per day for 30 days. This will trigger the message "PDMP Data Review" Test Bundle Request JSON Response JSON
Patient is 18 or older. Patient has been prescribed Suboxone 2 MG / 0.5 MG Sublingual Film (RXNorm 1010603) Patients "Dosage Instructions" are 1 Film per day for 30 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test Bundle Request JSON Response JSON
- + - - + - - + diff --git a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json index 98ed56d6..75f097cd 100644 --- a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -34,7 +34,7 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } }, "item2": null, @@ -51,7 +51,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -97,7 +97,7 @@ "subject": { "reference": "Patient/example-rec-12-criteria-valid" }, - "recordedDate": "2022-06-05" + "recordedDate": "2022-06-18" } }, "item4": null, diff --git a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json index 87bc9ba0..c31f2953 100644 --- a/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json +++ b/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -34,7 +34,7 @@ ] } ], - "birthDate": "2002-08-03" + "birthDate": "2002-08-18" } }, "item2": null, @@ -44,7 +44,27 @@ }, "resource": { "resourceType": "Condition", - "id": "64615597-1124-44bf-b0a5-ae5e45b45ea8", + "id": "example-rec-12-criteria-invalid", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-18" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], "clinicalStatus": { "coding": [ { @@ -54,21 +74,123 @@ } ] }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" + } + ] + } + ], "code": { "coding": [ { - "system": "TODO", - "code": "Not In VS", - "display": "Opioid Misuse Disorders" + "system": "http://snomed.info/sct", + "code": "191865004", + "display": "Combined opioid with other drug dependence" + } + ] + }, + "subject": { + "reference": "Patient/example-rec-12-criteria-invalid" + }, + "recordedDate": "2022-06-18" + } + }, + "item4": { + "response": { + "status": "200 OK" + }, + "resource": { + "resourceType": "MedicationRequest", + "id": "example-rec-12-criteria-invalid", + "extension": [ + { + "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", + "extension": [ + { + "url": "dateLastUpdated", + "valueDateTime": "2022-08-18" + }, + { + "url": "frequency", + "valueDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "community" + } + ] + } + ], + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010600", + "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Sublingual Film" } ] }, "subject": { "reference": "Patient/example-rec-12-criteria-invalid" + }, + "encounter": { + "reference": "Encounter/example-rec-12-criteria-invalid-context" + }, + "authoredOn": "2022-08-18", + "dosageInstruction": [ + { + "timing": { + "repeat": { + "frequency": 1, + "period": 12.0, + "periodUnit": "d" + } + }, + "doseAndRate": [ + { + "doseQuantity": { + "value": 1.0, + "unit": "tablet", + "system": "http://unitsofmeasure.org", + "code": "{tablet}" + } + } + ] + } + ], + "dispenseRequest": { + "validityPeriod": { + "start": "2022-08-18", + "end": "2022-11-18" + }, + "numberOfRepeatsAllowed": 3, + "expectedSupplyDuration": { + "value": 30.0, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } } } }, - "item4": null, "item5": null } } \ No newline at end of file diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index 32bb043b..39fcb7a1 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -348,8 +348,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.520Z", - "modified": "2022-08-08T19:42:27.520Z", - "headers": [], + "modified": "2022-08-19T05:59:07.493Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -399,26 +404,6 @@ }, "tests": [] }, - { - "_id": "b670f7db-3422-4292-8bce-2b75f2c8672e", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "f853d5cc-f89d-4fdf-a254-2758b52160ec", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.534Z", - "modified": "2022-08-08T19:42:27.534Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-12-criteria-valid.json" - }, - "tests": [] - }, { "_id": "c2c3035f-afd4-40e9-9b78-76e5b11517e4", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -970,12 +955,17 @@ "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", "containerId": "f853d5cc-f89d-4fdf-a254-2758b52160ec", "name": "REQUEST_RETURN_RECOMMENDATION", - "url": "{{cdsHooksServer}}/opioidcds-12", + "url": "{{cdsHooksServer}}/opioidcds-12-patient-view", "method": "POST", "sortNum": 25000, "created": "2022-08-08T19:42:27.553Z", - "modified": "2022-08-08T19:42:27.553Z", - "headers": [], + "modified": "2022-08-19T06:01:39.575Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -983,7 +973,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Recommend opioid agonist or partial agonist treatment with methadone maintenance therapy or buprenorphine and/or behavioral therapy" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Checking if the trigger prescription meets the inclusion criteria for recommendation #12 workflow." + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "4527870f-a679-49c2-a09c-791f067704c9", @@ -1299,26 +1314,6 @@ }, "tests": [] }, - { - "_id": "02cbcb61-1826-4747-bcce-d98c14f493ce", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "f853d5cc-f89d-4fdf-a254-2758b52160ec", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.571Z", - "modified": "2022-08-08T19:42:27.571Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-12-criteria-invalid.json" - }, - "tests": [] - }, { "_id": "58007aba-099a-4482-bc85-10601c83f23a", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1738,12 +1733,17 @@ "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", "containerId": "f853d5cc-f89d-4fdf-a254-2758b52160ec", "name": "REQUEST_RETURN_NO_RECOMMENDATION", - "url": "{{cdsHooksServer}}/opioidcds-12", + "url": "{{cdsHooksServer}}/opioidcds-12-patient-view", "method": "POST", "sortNum": 40000, "created": "2022-08-08T19:42:27.594Z", - "modified": "2022-08-08T19:42:27.594Z", - "headers": [], + "modified": "2022-08-19T06:11:40.719Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1751,7 +1751,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "a6fb3d2a-de40-4c16-bbe6-219240cf6d93", From 6e04ff2b6c77a548844a9c367d1779a611a2a04c Mon Sep 17 00:00:00 2001 From: c-schuler Date: Fri, 19 Aug 2022 00:55:43 -0600 Subject: [PATCH 20/24] Updated rec 10 order-sign and patient-view tests and rec pages --- .../recommendation-10-order-sign.xml | 12 +- .../recommendation-10-patient-view.xml | 8 +- ...mple-rec-10-order-sign-illicit-drugs.json} | 82 +++--- ...ample-rec-10-order-sign-no-screenings.json | 28 +- ...atient-view-end-of-life-med-exclusion.json | 17 +- ...ple-rec-10-patient-view-no-screenings.json | 24 +- thunder-tests/thunderclient.json | 268 ++++++++++-------- 7 files changed, 242 insertions(+), 197 deletions(-) rename input/pagecontent/requests/OpioidCDSREC10OrderSign/{request-example-rec-10-order-sign-2-illicit-drugs.json => request-example-rec-10-order-sign-illicit-drugs.json} (86%) diff --git a/input/pagecontent/recommendation-10-order-sign.xml b/input/pagecontent/recommendation-10-order-sign.xml index 77ace1f1..7e6f7d9e 100644 --- a/input/pagecontent/recommendation-10-order-sign.xml +++ b/input/pagecontent/recommendation-10-order-sign.xml @@ -96,7 +96,7 @@
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
(patient-view) Patient is 18 or older. Patient has a diagnosis of opioid misuse disorder in past 90 days. This will trigger the message "Recommend opioid agonist or partial agonist treatment with methadone maintenance therapy or buprenorphine and/or behavioral therapy".Test BundlePatient is 18 or older. Patient has a diagnosis of opioid misuse disorder in past 90 days. This will trigger the message "Recommend opioid agonist or partial agonist treatment with methadone maintenance therapy or buprenorphine and/or behavioral therapy". Request JSON Response JSON
(patient-view) Patient is 18 or older. Patient has not been diagnosed with opioid misuse disorder in the past 90 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Test BundlePatient is 18 or older. Patient has a diagnosis of opioid misuse disorder and has been prescribed Buprenorphine 2 MG / Naloxone 0.5 MG Sublingual Film (1010600) in past 90 days. The patient will be excluded and no message will be triggered - an empty set of cards will be returned. Request JSON Response JSON
- + @@ -108,9 +108,13 @@ ii. Indicate that the prescription is not for chronic pain management and snooze for 3 months
iii. Indicate that it is not applicable, log a comment and snooze for 3 months. - - - + + + + + + +
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Test BundleRequest JSONResponse JSONRequest JSONResponse JSON
Patient 18 or older. Patient is being prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RxNorm code 197696) and a urine screening with the prescence of Phencyclidine is present. This triggers the message "Positive Cocaine or PCP in Urine Screening" with a note explaining this may be a false positive or indicate recreational or addictive use.Request JSONResponse JSON
diff --git a/input/pagecontent/recommendation-10-patient-view.xml b/input/pagecontent/recommendation-10-patient-view.xml index 0257cb1e..6c84147b 100644 --- a/input/pagecontent/recommendation-10-patient-view.xml +++ b/input/pagecontent/recommendation-10-patient-view.xml @@ -96,7 +96,7 @@ - + @@ -111,10 +111,14 @@
iii. Indicate that it is not applicable, log a comment and snooze for 3 months. - + + + + +
DescriptionBundleCDS Hooks RequestExpected ResponseDescriptionCDS Hooks RequestExpected Response
Test Bundle Request JSON Response JSON
Patient 18 or older. Patient is being prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RxNorm code 197696), once every 12 days for 30 days. Patient has condition indicating end of life (Carcinoma of endocrine pancreas). The patient will be excluded and no message will be triggered - an empty set of cards will be returned.Request JSONResponse JSON
diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs.json similarity index 86% rename from input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json rename to input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs.json index 4dc2953e..d0e1cecf 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-2-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs.json @@ -4,8 +4,8 @@ "hook": "order-sign", "context": { "userId": "Practitioner/example", - "patientId": "Patient/example-rec-10-2-illicit-drugs", - "encounterId": "Encounter/example-rec-10-2-illicit-drugs-context", + "patientId": "Patient/example-rec-10-illicit-drugs", + "encounterId": "Encounter/example-rec-10-illicit-drugs-context", "draftOrders": { "resourceType": "Bundle", "type": "collection", @@ -13,19 +13,19 @@ { "resource": { "resourceType": "MedicationRequest", - "id": "example-rec-10-2-illicit-drugs-context", + "id": "example-rec-10-illicit-drugs-context", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -56,12 +56,12 @@ ] }, "subject": { - "reference": "Patient/example-rec-10-2-illicit-drugs" + "reference": "Patient/example-rec-10-illicit-drugs" }, "encounter": { - "reference": "Encounter/example-rec-10-2-illicit-drugs-context" + "reference": "Encounter/example-rec-10-illicit-drugs-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -86,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -109,14 +109,14 @@ }, "resource": { "resourceType": "Patient", - "id": "example-rec-10-2-illicit-drugs", + "id": "example-rec-10-illicit-drugs", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -131,7 +131,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": null, @@ -145,14 +145,14 @@ }, "resource": { "resourceType": "Encounter", - "id": "example-rec-10-2-illicit-drugs-prefetch", + "id": "example-rec-10-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -168,11 +168,11 @@ ], "status": "finished", "subject": { - "reference": "Patient/example-rec-10-2-illicit-drugs" + "reference": "Patient/example-rec-10-illicit-drugs" }, "period": { - "start": "2022-05-05", - "end": "2022-05-05" + "start": "2022-05-15", + "end": "2022-05-15" } } }, @@ -186,14 +186,14 @@ { "resource": { "resourceType": "Observation", - "id": "example-rec-10-2-illicit-drugs-prefetch", + "id": "example-rec-10-illicit-drugs-prefetch-1", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -228,9 +228,9 @@ ] }, "subject": { - "reference": "Patient/example-rec-10-2-illicit-drugs" + "reference": "Patient/example-rec-10-illicit-drugs" }, - "effectiveDateTime": "2022-02-27", + "effectiveDateTime": "2022-03-14", "valueString": "POS", "interpretation": [ { @@ -247,14 +247,14 @@ { "resource": { "resourceType": "Observation", - "id": "example-rec-10-2-illicit-drugs-prefetch", + "id": "example-rec-10-illicit-drugs-prefetch-2", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -289,9 +289,9 @@ ] }, "subject": { - "reference": "Patient/example-rec-10-2-illicit-drugs" + "reference": "Patient/example-rec-10-illicit-drugs" }, - "effectiveDateTime": "2022-03-08", + "effectiveDateTime": "2022-03-23", "valueString": "NEG", "interpretation": [ { @@ -308,14 +308,14 @@ { "resource": { "resourceType": "Observation", - "id": "example-rec-10-illicit-drugs-POS-Opiate-prefetch-obs2", + "id": "example-rec-10-illicit-drugs-prefetch-3", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -351,9 +351,9 @@ ] }, "subject": { - "reference": "Patient/example-rec-10-2-illicit-drugs" + "reference": "Patient/example-rec-10-illicit-drugs" }, - "effectiveDateTime": "2022-02-06", + "effectiveDateTime": "2022-02-21", "valueString": "POS", "interpretation": [ { @@ -370,14 +370,14 @@ { "resource": { "resourceType": "Observation", - "id": "example-rec-10-2-illicit-drugs-prefetch", + "id": "example-rec-10-illicit-drugs-prefetch-4", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -412,9 +412,9 @@ ] }, "subject": { - "reference": "Patient/example-rec-10-2-illicit-drugs" + "reference": "Patient/example-rec-10-illicit-drugs" }, - "effectiveDateTime": "2022-03-30", + "effectiveDateTime": "2022-04-14", "valueString": "POS", "interpretation": [ { @@ -438,14 +438,14 @@ }, "resource": { "resourceType": "MedicationRequest", - "id": "example-rec-10-2-illicit-drugs-prefetch", + "id": "example-rec-10-illicit-drugs-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -481,12 +481,12 @@ ] }, "subject": { - "reference": "Patient/example-rec-10-2-illicit-drugs" + "reference": "Patient/example-rec-10-illicit-drugs" }, "encounter": { - "reference": "Encounter/example-rec-10-2-illicit-drugs-prefetch" + "reference": "Encounter/example-rec-10-illicit-drugs-prefetch" }, - "authoredOn": "2022-05-05", + "authoredOn": "2022-05-20", "dosageInstruction": [ { "timing": { @@ -511,8 +511,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-05-05T00:00:00-06:00", - "end": "2022-08-03T00:00:00-06:00" + "start": "2022-05-20", + "end": "2022-08-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json index 94217cb0..49aef4f7 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json @@ -20,12 +20,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-10-order-sign-no-screenings-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -86,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -116,7 +116,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -131,7 +131,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": null, @@ -152,7 +152,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -171,8 +171,8 @@ "reference": "Patient/example-rec-10-order-sign-no-screenings" }, "period": { - "start": "2022-05-05", - "end": "2022-05-05" + "start": "2022-05-20", + "end": "2022-05-20" } } }, @@ -191,7 +191,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -232,7 +232,7 @@ "encounter": { "reference": "Encounter/example-rec-10-order-sign-no-screenings-prefetch" }, - "authoredOn": "2022-05-05", + "authoredOn": "2022-05-20", "dosageInstruction": [ { "timing": { @@ -257,8 +257,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-05-05T00:00:00-06:00", - "end": "2022-08-03T00:00:00-06:00" + "start": "2022-05-20", + "end": "2022-08-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json index 62fe414d..d41026af 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json @@ -21,7 +21,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -36,7 +36,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": { @@ -52,7 +52,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -93,7 +93,7 @@ "encounter": { "reference": "Encounter/example-rec-10-end-of-life-med-exclusion-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -118,8 +118,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -146,7 +146,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -184,7 +184,6 @@ "coding": [ { "system": "http://snomed.info/sct", - "version": "2021-03", "code": "254612002", "display": "Carcinoma of endocrine pancreas" } @@ -193,7 +192,7 @@ "subject": { "reference": "Patient/example-rec-10-end-of-life-med-exclusion" }, - "recordedDate": "2022-06-04" + "recordedDate": "2022-06-19" } }, "item6": null diff --git a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json index 2962fb76..17c1e2c8 100644 --- a/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json @@ -4,8 +4,8 @@ "hook": "patient-view", "context": { "userId": "Practitioner/example", - "patientId": "Patient/example-rec-10-patient-view-POS-Cocaine-drugs", - "encounterId": "Encounter/example-rec-10-patient-view-POS-Cocaine-drugs-context" + "patientId": "Patient/example-rec-10-patient-view-no-screenings", + "encounterId": "Encounter/example-rec-10-patient-view-no-screenings-context" }, "prefetch": { "item1": { @@ -21,7 +21,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -36,7 +36,7 @@ } ], "gender": "female", - "birthDate": "1982-04-14" + "birthDate": "2002-08-18" } }, "item2": { @@ -57,7 +57,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -98,7 +98,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-no-screenings-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-18", "dosageInstruction": [ { "timing": { @@ -123,8 +123,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-03T00:00:00-06:00", - "end": "2022-11-02T00:00:00-06:00" + "start": "2022-08-18", + "end": "2022-11-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { @@ -146,7 +146,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" + "valueDateTime": "2022-08-18" }, { "url": "frequency", @@ -187,7 +187,7 @@ "encounter": { "reference": "Encounter/example-rec-10-patient-view-no-screenings-prefetch" }, - "authoredOn": "2022-05-05", + "authoredOn": "2022-05-20", "dosageInstruction": [ { "timing": { @@ -212,8 +212,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-05-05T00:00:00-06:00", - "end": "2022-08-03T00:00:00-06:00" + "start": "2022-05-20", + "end": "2022-08-18" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index 39fcb7a1..8c88a2bf 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -258,8 +258,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.516Z", - "modified": "2022-08-08T19:42:27.516Z", - "headers": [], + "modified": "2022-08-19T06:20:49.908Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -278,8 +283,13 @@ "method": "POST", "sortNum": 10000, "created": "2022-08-08T19:42:27.517Z", - "modified": "2022-08-08T19:42:27.517Z", - "headers": [], + "modified": "2022-08-19T06:41:12.336Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -364,46 +374,6 @@ }, "tests": [] }, - { - "_id": "7804ec2a-b60e-4782-83fb-e3ffffcd516b", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "7af2c44c-048f-40b1-93e7-6a59bb2dd18d", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.531Z", - "modified": "2022-08-08T19:42:27.531Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-10-no-screenings.xml" - }, - "tests": [] - }, - { - "_id": "7c80ba78-ca69-419b-acae-336b269b0b3f", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e5bfaa3a-364c-4d60-b893-084fd9adcc66", - "name": "LOAD_PATIENT_DATA_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 20000, - "created": "2022-08-08T19:42:27.532Z", - "modified": "2022-08-08T19:42:27.532Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-10-no-screenings.xml" - }, - "tests": [] - }, { "_id": "c2c3035f-afd4-40e9-9b78-76e5b11517e4", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -864,13 +834,18 @@ "_id": "7da36078-290b-4fdc-86da-fd7e480ece9f", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", "containerId": "7af2c44c-048f-40b1-93e7-6a59bb2dd18d", - "name": "REQUEST_RETURN_RECOMMENDATION", - "url": "{{cdsHooksServer}}/opioidcds-10", + "name": "REQUEST_RETURN_RECOMMENDATION_NO_SCREEN", + "url": "{{cdsHooksServer}}/opioidcds-10-order-sign", "method": "POST", "sortNum": 25000, "created": "2022-08-08T19:42:27.550Z", - "modified": "2022-08-08T19:42:27.550Z", - "headers": [], + "modified": "2022-08-19T06:30:35.039Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -878,7 +853,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Annual Urine Screening Check" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Patients on opioid therapy should have a urine drug test performed every 12 months." + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "92a005e1-7157-4d78-84cd-125a2b308b0b", @@ -889,8 +889,13 @@ "method": "POST", "sortNum": 25000, "created": "2022-08-08T19:42:27.551Z", - "modified": "2022-08-08T19:42:27.551Z", - "headers": [], + "modified": "2022-08-19T06:49:26.990Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -898,7 +903,32 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Annual Urine Screening Check" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "Patients on opioid therapy should have a urine drug test performed every 12 months." + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] }, { "_id": "7de6bd8e-5701-4ee6-9e82-1ed61fa35b76", @@ -1294,46 +1324,6 @@ } ] }, - { - "_id": "9a225c74-2fee-4cc7-bc30-e6b0258d6688", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "e5bfaa3a-364c-4d60-b893-084fd9adcc66", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.569Z", - "modified": "2022-08-08T19:42:27.569Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml" - }, - "tests": [] - }, - { - "_id": "58007aba-099a-4482-bc85-10601c83f23a", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "7af2c44c-048f-40b1-93e7-6a59bb2dd18d", - "name": "LOAD_PATIENT_DATA_NO_RECOMMENDATION", - "url": "{{fhirServer}}", - "method": "POST", - "sortNum": 30000, - "created": "2022-08-08T19:42:27.572Z", - "modified": "2022-08-08T19:42:27.572Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml" - }, - "tests": [] - }, { "_id": "e015296e-39b0-4a39-b1c2-4098c70142fe", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1688,26 +1678,6 @@ } ] }, - { - "_id": "2d0c86a2-badc-488f-85c3-9a961f60dcae", - "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", - "containerId": "7af2c44c-048f-40b1-93e7-6a59bb2dd18d", - "name": "REQUEST_RETURN_NO_RECOMMENDATION", - "url": "{{cdsHooksServer}}/opioidcds-10", - "method": "POST", - "sortNum": 40000, - "created": "2022-08-08T19:42:27.592Z", - "modified": "2022-08-08T19:42:27.592Z", - "headers": [], - "params": [], - "body": { - "type": "binary", - "raw": "", - "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json" - }, - "tests": [] - }, { "_id": "83a94d8b-f81f-4f96-a781-ac03a9fa723e", "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", @@ -1717,8 +1687,13 @@ "method": "POST", "sortNum": 40000, "created": "2022-08-08T19:42:27.593Z", - "modified": "2022-08-08T19:42:27.593Z", - "headers": [], + "modified": "2022-08-19T06:52:16.977Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], "params": [], "body": { "type": "binary", @@ -1726,7 +1701,20 @@ "form": [], "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json" }, - "tests": [] + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards.length", + "action": "equal", + "value": "0" + } + ] }, { "_id": "efb1a5ff-be14-415d-8b9b-2b15f82f3240", @@ -2195,5 +2183,55 @@ "value": "0" } ] + }, + { + "_id": "074a3868-044d-4bf6-9f5c-234e81a9bc66", + "colId": "87cdc0d4-49a8-40dc-a0fb-af86eb2a3ee1", + "containerId": "7af2c44c-048f-40b1-93e7-6a59bb2dd18d", + "name": "REQUEST_RETURN_RECOMMENDATION_ILLICIT_DRUGS", + "url": "{{cdsHooksServer}}/opioidcds-10-order-sign", + "method": "POST", + "sortNum": 32500, + "created": "2022-08-19T06:23:02.556Z", + "modified": "2022-08-19T06:26:41.092Z", + "headers": [ + { + "name": "Content-Type", + "value": "application/json" + } + ], + "params": [], + "body": { + "type": "binary", + "raw": "", + "form": [], + "binary": "../input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs.json" + }, + "tests": [ + { + "type": "res-code", + "custom": "", + "action": "equal", + "value": "200" + }, + { + "type": "json-query", + "custom": "json.cards[0].summary", + "action": "equal", + "value": "Positive Cocaine or PCP in Urine Screening" + }, + { + "type": "json-query", + "custom": "json.cards[0].detail", + "action": "equal", + "value": "
*Positive for PCP:
2022-04-14
Note: result may be false positive result or indicate patient is occasional user or addicted to the illicit drug." + }, + { + "type": "json-query", + "custom": "json.cards[0].indicator", + "action": "equal", + "value": "warning" + } + ] } ] \ No newline at end of file From 0897be22c8ed685861ba2fb1427a2d8766e8f111 Mon Sep 17 00:00:00 2001 From: c-schuler Date: Fri, 19 Aug 2022 10:55:59 -0600 Subject: [PATCH 21/24] Applying QA --- ...-rec-01-false-due-to-inpatient-opioid.json | 76 ------ ...mple-rec-01-true-make-recommendations.json | 69 ------ ...-false-due-to-careplan-within-90-days.json | 119 --------- ...mple-rec-02-true-make-recommendations.json | 119 --------- ...alse-due-to-discussion-within-90-days.json | 117 --------- ...mple-rec-03-true-make-recommendations.json | 117 --------- ...ndle-example-rec-04-long-acting-opioid.xml | 69 ------ .../bundle-example-rec-04-new-patient.xml | 69 ------ ...-example-rec-04-not-long-acting-opioid.xml | 69 ------ ...ple-rec-04-opioid-with-abuse-potential.xml | 69 ------ ...-example-rec-05-mme-greater-than-fifty.xml | 69 ------ ...dle-example-rec-05-mme-less-than-fifty.xml | 69 ------ .../bundle-example-rec-06-criteria-valid.json | 83 ------- ...-06-with-extended-release-for-27-days.json | 68 ----- ...e-example-rec-07-end-of-life-exclusion.xml | 69 ------ .../bundle-example-rec-07-risk-assessment.xml | 69 ------ ...-example-rec-07-seven-of-past-ten-days.xml | 69 ------ ...le-example-rec-07-six-of-past-ten-days.xml | 69 ------ ...-rec-07-sixtythree-of-past-ninety-days.xml | 69 ------ ...le-rec-07-sixtytwo-of-past-ninety-days.xml | 69 ------ ...-example-rec-08-mme-greater-than-fifty.xml | 69 ------ ...dle-example-rec-08-mme-less-than-fifty.xml | 69 ------ ...undle-example-rec-08-on-benzodiazepine.xml | 69 ------ .../bundle-example-rec-08-on-naloxone.xml | 69 ------ .../bundle-example-rec-08-substance-abuse.xml | 69 ------ ...lse-due-to-PDMP-review-within-90-days.json | 117 --------- ...le-rec-09-true-return-recommendations.json | 117 --------- ...ample-rec-10-end-of-life-med-exclusion.xml | 73 ------ .../bundle-example-rec-10-illicit-drugs.xml | 191 -------------- ...mple-rec-10-missing-prescribed-opioids.xml | 190 -------------- .../bundle-example-rec-10-no-screenings.xml | 147 ----------- ...-rec-10-not-missing-prescribed-opioids.xml | 190 -------------- ...le-example-rec-10-unprescribed-opioids.xml | 233 ------------------ ...ample-rec-11-benzo-trigger-with-opioid.xml | 147 ----------- ...le-rec-11-benzo-trigger-without-opioid.xml | 35 --- ...ample-rec-11-opioid-trigger-with-benzo.xml | 147 ----------- ...le-rec-11-opioid-trigger-without-benzo.xml | 35 --- ...undle-example-rec-12-criteria-invalid.json | 66 ----- .../bundle-example-rec-12-criteria-valid.json | 73 ------ ...mple-rec-04-long-acting-opioid-context.xml | 29 --- ...ple-rec-04-long-acting-opioid-prefetch.xml | 29 --- ...ter-example-rec-04-new-patient-context.xml | 29 --- ...-rec-04-not-long-acting-opioid-context.xml | 29 --- ...rec-04-not-long-acting-opioid-prefetch.xml | 29 --- ...04-opioid-with-abuse-potential-context.xml | 29 --- ...4-opioid-with-abuse-potential-prefetch.xml | 29 --- ...-rec-05-mme-greater-than-fifty-context.xml | 29 --- ...ple-rec-05-mme-less-than-fifty-context.xml | 29 --- ...e-rec-07-end-of-life-exclusion-context.xml | 29 --- ...-rec-07-end-of-life-exclusion-prefetch.xml | 29 --- ...example-rec-07-risk-assessment-context.xml | 29 --- ...xample-rec-07-risk-assessment-prefetch.xml | 29 --- ...-rec-07-seven-of-past-ten-days-context.xml | 29 --- ...rec-07-seven-of-past-ten-days-prefetch.xml | 29 --- ...le-rec-07-six-of-past-ten-days-context.xml | 29 --- ...e-rec-07-six-of-past-ten-days-prefetch.xml | 29 --- ...sixtythree-of-past-ninety-days-context.xml | 29 --- ...ixtythree-of-past-ninety-days-prefetch.xml | 29 --- ...7-sixtytwo-of-past-ninety-days-context.xml | 29 --- ...-sixtytwo-of-past-ninety-days-prefetch.xml | 29 --- ...-rec-08-mme-greater-than-fifty-context.xml | 29 --- ...ple-rec-08-mme-less-than-fifty-context.xml | 29 --- ...ample-rec-08-on-benzodiazepine-context.xml | 29 --- ...mple-rec-08-on-benzodiazepine-prefetch.xml | 29 --- ...ter-example-rec-08-on-naloxone-context.xml | 29 --- ...er-example-rec-08-on-naloxone-prefetch.xml | 29 --- ...example-rec-08-substance-abuse-context.xml | 29 --- ...c-10-end-of-life-med-exclusion-context.xml | 29 --- ...r-example-rec-10-illicit-drugs-context.xml | 29 --- ...-example-rec-10-illicit-drugs-prefetch.xml | 29 --- ...-10-missing-prescribed-opioids-context.xml | 29 --- ...10-missing-prescribed-opioids-prefetch.xml | 29 --- ...r-example-rec-10-no-screenings-context.xml | 29 --- ...-example-rec-10-no-screenings-prefetch.xml | 29 --- ...not-missing-prescribed-opioids-context.xml | 29 --- ...ot-missing-prescribed-opioids-prefetch.xml | 29 --- ...le-rec-10-unprescribed-opioids-context.xml | 29 --- ...e-rec-10-unprescribed-opioids-prefetch.xml | 29 --- ...c-11-benzo-trigger-with-opioid-context.xml | 29 --- ...-11-benzo-trigger-with-opioid-prefetch.xml | 29 --- ...1-benzo-trigger-without-opioid-context.xml | 29 --- ...c-11-opioid-trigger-with-benzo-context.xml | 29 --- ...-11-opioid-trigger-with-benzo-prefetch.xml | 29 --- ...1-opioid-trigger-without-benzo-context.xml | 29 --- ...ple-rec-04-long-acting-opioid-prefetch.xml | 59 ----- ...rec-04-not-long-acting-opioid-prefetch.xml | 59 ----- ...4-opioid-with-abuse-potential-prefetch.xml | 59 ----- ...-rec-07-end-of-life-exclusion-prefetch.xml | 65 ----- ...rec-07-seven-of-past-ten-days-prefetch.xml | 65 ----- ...e-rec-07-six-of-past-ten-days-prefetch.xml | 65 ----- ...ixtythree-of-past-ninety-days-prefetch.xml | 65 ----- ...-sixtytwo-of-past-ninety-days-prefetch.xml | 65 ----- ...mple-rec-08-on-benzodiazepine-prefetch.xml | 65 ----- ...st-example-rec-08-on-naloxone-prefetch.xml | 65 ----- ...-example-rec-10-illicit-drugs-prefetch.xml | 65 ----- ...10-missing-prescribed-opioids-prefetch.xml | 65 ----- ...-example-rec-10-no-screenings-prefetch.xml | 65 ----- ...ot-missing-prescribed-opioids-prefetch.xml | 65 ----- ...e-rec-10-unprescribed-opioids-prefetch.xml | 65 ----- ...-11-benzo-trigger-with-opioid-prefetch.xml | 65 ----- ...-11-opioid-trigger-with-benzo-prefetch.xml | 65 ----- ...-example-rec-10-illicit-drugs-prefetch.xml | 34 --- ...10-missing-prescribed-opioids-prefetch.xml | 34 --- ...ot-missing-prescribed-opioids-prefetch.xml | 34 --- ...-unprescribed-opioids-prefetch-codeine.xml | 34 --- ...nprescribed-opioids-prefetch-oxycodone.xml | 34 --- ...ient-example-rec-04-long-acting-opioid.xml | 18 -- .../patient-example-rec-04-new-patient.xml | 18 -- ...-example-rec-04-not-long-acting-opioid.xml | 18 -- ...ple-rec-04-opioid-with-abuse-potential.xml | 18 -- ...-example-rec-05-mme-greater-than-fifty.xml | 18 -- ...ent-example-rec-05-mme-less-than-fifty.xml | 18 -- ...t-example-rec-07-end-of-life-exclusion.xml | 18 -- ...patient-example-rec-07-risk-assessment.xml | 18 -- ...-example-rec-07-seven-of-past-ten-days.xml | 18 -- ...nt-example-rec-07-six-of-past-ten-days.xml | 18 -- ...-rec-07-sixtythree-of-past-ninety-days.xml | 18 -- ...le-rec-07-sixtytwo-of-past-ninety-days.xml | 18 -- ...-example-rec-08-mme-greater-than-fifty.xml | 18 -- ...ent-example-rec-08-mme-less-than-fifty.xml | 18 -- ...tient-example-rec-08-on-benzodiazepine.xml | 18 -- .../patient-example-rec-08-on-naloxone.xml | 18 -- ...patient-example-rec-08-substance-abuse.xml | 18 -- ...ample-rec-10-end-of-life-med-exclusion.xml | 22 -- .../patient-example-rec-10-illicit-drugs.xml | 23 -- ...mple-rec-10-missing-prescribed-opioids.xml | 22 -- .../patient-example-rec-10-no-screenings.xml | 22 -- ...-rec-10-not-missing-prescribed-opioids.xml | 22 -- ...nt-example-rec-10-unprescribed-opioids.xml | 22 -- ...ample-rec-11-benzo-trigger-with-opioid.xml | 22 -- ...le-rec-11-benzo-trigger-without-opioid.xml | 22 -- ...ample-rec-11-opioid-trigger-with-benzo.xml | 22 -- ...le-rec-11-opioid-trigger-without-benzo.xml | 22 -- ...xample-rec-07-risk-assessment-prefetch.xml | 34 --- input/opioid-cds.xml | 4 +- .../recommendation-10-order-sign.xml | 8 +- .../recommendation-10-patient-view.xml | 4 +- ...request-example-rec-10-illicit-drugs.json} | 0 ...mple-rec-10-order-sign-illicit-drugs.json} | 0 input/pagecontent/test.xml | 48 +--- thunder-tests/thunderclient.json | 4 +- 141 files changed, 14 insertions(+), 6879 deletions(-) delete mode 100644 input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json delete mode 100644 input/examples/bundle-example-rec-01-true-make-recommendations.json delete mode 100644 input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json delete mode 100644 input/examples/bundle-example-rec-02-true-make-recommendations.json delete mode 100644 input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json delete mode 100644 input/examples/bundle-example-rec-03-true-make-recommendations.json delete mode 100644 input/examples/bundle-example-rec-04-long-acting-opioid.xml delete mode 100644 input/examples/bundle-example-rec-04-new-patient.xml delete mode 100644 input/examples/bundle-example-rec-04-not-long-acting-opioid.xml delete mode 100644 input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml delete mode 100644 input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml delete mode 100644 input/examples/bundle-example-rec-05-mme-less-than-fifty.xml delete mode 100644 input/examples/bundle-example-rec-06-criteria-valid.json delete mode 100644 input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json delete mode 100644 input/examples/bundle-example-rec-07-end-of-life-exclusion.xml delete mode 100644 input/examples/bundle-example-rec-07-risk-assessment.xml delete mode 100644 input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml delete mode 100644 input/examples/bundle-example-rec-07-six-of-past-ten-days.xml delete mode 100644 input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml delete mode 100644 input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml delete mode 100644 input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml delete mode 100644 input/examples/bundle-example-rec-08-mme-less-than-fifty.xml delete mode 100644 input/examples/bundle-example-rec-08-on-benzodiazepine.xml delete mode 100644 input/examples/bundle-example-rec-08-on-naloxone.xml delete mode 100644 input/examples/bundle-example-rec-08-substance-abuse.xml delete mode 100644 input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json delete mode 100644 input/examples/bundle-example-rec-09-true-return-recommendations.json delete mode 100644 input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml delete mode 100644 input/examples/bundle-example-rec-10-illicit-drugs.xml delete mode 100644 input/examples/bundle-example-rec-10-missing-prescribed-opioids.xml delete mode 100644 input/examples/bundle-example-rec-10-no-screenings.xml delete mode 100644 input/examples/bundle-example-rec-10-not-missing-prescribed-opioids.xml delete mode 100644 input/examples/bundle-example-rec-10-unprescribed-opioids.xml delete mode 100644 input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml delete mode 100644 input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml delete mode 100644 input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml delete mode 100644 input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml delete mode 100644 input/examples/bundle-example-rec-12-criteria-invalid.json delete mode 100644 input/examples/bundle-example-rec-12-criteria-valid.json delete mode 100644 input/examples/encounter-example-rec-04-long-acting-opioid-context.xml delete mode 100644 input/examples/encounter-example-rec-04-long-acting-opioid-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-04-new-patient-context.xml delete mode 100644 input/examples/encounter-example-rec-04-not-long-acting-opioid-context.xml delete mode 100644 input/examples/encounter-example-rec-04-not-long-acting-opioid-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-04-opioid-with-abuse-potential-context.xml delete mode 100644 input/examples/encounter-example-rec-04-opioid-with-abuse-potential-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-05-mme-greater-than-fifty-context.xml delete mode 100644 input/examples/encounter-example-rec-05-mme-less-than-fifty-context.xml delete mode 100644 input/examples/encounter-example-rec-07-end-of-life-exclusion-context.xml delete mode 100644 input/examples/encounter-example-rec-07-end-of-life-exclusion-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-07-risk-assessment-context.xml delete mode 100644 input/examples/encounter-example-rec-07-risk-assessment-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-07-seven-of-past-ten-days-context.xml delete mode 100644 input/examples/encounter-example-rec-07-seven-of-past-ten-days-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-07-six-of-past-ten-days-context.xml delete mode 100644 input/examples/encounter-example-rec-07-six-of-past-ten-days-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-context.xml delete mode 100644 input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-context.xml delete mode 100644 input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-08-mme-greater-than-fifty-context.xml delete mode 100644 input/examples/encounter-example-rec-08-mme-less-than-fifty-context.xml delete mode 100644 input/examples/encounter-example-rec-08-on-benzodiazepine-context.xml delete mode 100644 input/examples/encounter-example-rec-08-on-benzodiazepine-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-08-on-naloxone-context.xml delete mode 100644 input/examples/encounter-example-rec-08-on-naloxone-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-08-substance-abuse-context.xml delete mode 100644 input/examples/encounter-example-rec-10-end-of-life-med-exclusion-context.xml delete mode 100644 input/examples/encounter-example-rec-10-illicit-drugs-context.xml delete mode 100644 input/examples/encounter-example-rec-10-illicit-drugs-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-10-missing-prescribed-opioids-context.xml delete mode 100644 input/examples/encounter-example-rec-10-missing-prescribed-opioids-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-10-no-screenings-context.xml delete mode 100644 input/examples/encounter-example-rec-10-no-screenings-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-context.xml delete mode 100644 input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-10-unprescribed-opioids-context.xml delete mode 100644 input/examples/encounter-example-rec-10-unprescribed-opioids-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-context.xml delete mode 100644 input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-11-benzo-trigger-without-opioid-context.xml delete mode 100644 input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-context.xml delete mode 100644 input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-prefetch.xml delete mode 100644 input/examples/encounter-example-rec-11-opioid-trigger-without-benzo-context.xml delete mode 100644 input/examples/medicationrequest-example-rec-04-long-acting-opioid-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-04-not-long-acting-opioid-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-04-opioid-with-abuse-potential-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-07-end-of-life-exclusion-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-07-seven-of-past-ten-days-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-07-six-of-past-ten-days-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-08-on-benzodiazepine-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-08-on-naloxone-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-10-illicit-drugs-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-10-missing-prescribed-opioids-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-10-no-screenings-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-10-not-missing-prescribed-opioids-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-10-unprescribed-opioids-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-11-benzo-trigger-with-opioid-prefetch.xml delete mode 100644 input/examples/medicationrequest-example-rec-11-opioid-trigger-with-benzo-prefetch.xml delete mode 100644 input/examples/observation-example-rec-10-illicit-drugs-prefetch.xml delete mode 100644 input/examples/observation-example-rec-10-missing-prescribed-opioids-prefetch.xml delete mode 100644 input/examples/observation-example-rec-10-not-missing-prescribed-opioids-prefetch.xml delete mode 100644 input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-codeine.xml delete mode 100644 input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-oxycodone.xml delete mode 100644 input/examples/patient-example-rec-04-long-acting-opioid.xml delete mode 100644 input/examples/patient-example-rec-04-new-patient.xml delete mode 100644 input/examples/patient-example-rec-04-not-long-acting-opioid.xml delete mode 100644 input/examples/patient-example-rec-04-opioid-with-abuse-potential.xml delete mode 100644 input/examples/patient-example-rec-05-mme-greater-than-fifty.xml delete mode 100644 input/examples/patient-example-rec-05-mme-less-than-fifty.xml delete mode 100644 input/examples/patient-example-rec-07-end-of-life-exclusion.xml delete mode 100644 input/examples/patient-example-rec-07-risk-assessment.xml delete mode 100644 input/examples/patient-example-rec-07-seven-of-past-ten-days.xml delete mode 100644 input/examples/patient-example-rec-07-six-of-past-ten-days.xml delete mode 100644 input/examples/patient-example-rec-07-sixtythree-of-past-ninety-days.xml delete mode 100644 input/examples/patient-example-rec-07-sixtytwo-of-past-ninety-days.xml delete mode 100644 input/examples/patient-example-rec-08-mme-greater-than-fifty.xml delete mode 100644 input/examples/patient-example-rec-08-mme-less-than-fifty.xml delete mode 100644 input/examples/patient-example-rec-08-on-benzodiazepine.xml delete mode 100644 input/examples/patient-example-rec-08-on-naloxone.xml delete mode 100644 input/examples/patient-example-rec-08-substance-abuse.xml delete mode 100644 input/examples/patient-example-rec-10-end-of-life-med-exclusion.xml delete mode 100644 input/examples/patient-example-rec-10-illicit-drugs.xml delete mode 100644 input/examples/patient-example-rec-10-missing-prescribed-opioids.xml delete mode 100644 input/examples/patient-example-rec-10-no-screenings.xml delete mode 100644 input/examples/patient-example-rec-10-not-missing-prescribed-opioids.xml delete mode 100644 input/examples/patient-example-rec-10-unprescribed-opioids.xml delete mode 100644 input/examples/patient-example-rec-11-benzo-trigger-with-opioid.xml delete mode 100644 input/examples/patient-example-rec-11-benzo-trigger-without-opioid.xml delete mode 100644 input/examples/patient-example-rec-11-opioid-trigger-with-benzo.xml delete mode 100644 input/examples/patient-example-rec-11-opioid-trigger-without-benzo.xml delete mode 100644 input/examples/procedure-example-rec-07-risk-assessment-prefetch.xml rename input/pagecontent/requests/OpioidCDSREC10/{request-example-rec-10-2-illicit-drugs.json => request-example-rec-10-illicit-drugs.json} (100%) rename input/pagecontent/responses/OpioidCDSREC10OrderSign/{response-example-rec-10-order-sign-2-illicit-drugs.json => response-example-rec-10-order-sign-illicit-drugs.json} (100%) diff --git a/input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json b/input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json deleted file mode 100644 index 4f489319..00000000 --- a/input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-01-false-due-to-inpatient-opioid", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-01-false-due-to-inpatient-opioid", - "resource": { - "resourceType": "Patient", - "id": "example-rec-01-false-due-to-inpatient-opioid", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-07-14" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-01-false-due-to-inpatient-opioid" - } - }, { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-01-false-due-to-inpatient-opioid", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-01-false-due-to-inpatient-opioid", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "active", - "intent": "order", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "inpatient", - "display": "Inpatient" - } ] - } ], - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } ] - }, - "subject": { - "reference": "Patient/example-rec-01-false-due-to-inpatient-opioid" - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-01-false-due-to-inpatient-opioid" - } - } ] -} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-01-true-make-recommendations.json b/input/examples/bundle-example-rec-01-true-make-recommendations.json deleted file mode 100644 index 527a7c78..00000000 --- a/input/examples/bundle-example-rec-01-true-make-recommendations.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-01-true-make-recommendations", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-01-true-make-recommendations", - "resource": { - "resourceType": "Patient", - "id": "example-rec-01-true-make-recommendations", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-07-14" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-01-true-make-recommendations" - } - }, { - "fullUrl": "http://localhost:8080/fhir/MedicationStatement/example-rec-01-true-make-recommendations", - "resource": { - "resourceType": "MedicationStatement", - "id": "example-rec-01-true-make-recommendations", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "active", - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } ] - }, - "subject": { - "reference": "Patient/example-rec-01-true-make-recommendations" - }, - "effectiveDateTime": "2022-04-10" - }, - "request": { - "method": "PUT", - "url": "MedicationStatement/example-rec-01-true-make-recommendations" - } - } ] -} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json b/input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json deleted file mode 100644 index a6f9dc26..00000000 --- a/input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-02-false-due-to-careplan-within-90-days", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-02-false-due-to-careplan-within-90-days", - "resource": { - "resourceType": "Patient", - "id": "example-rec-02-false-due-to-careplan-within-90-days", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-07-14" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-02-false-due-to-careplan-within-90-days" - } - }, { - "fullUrl": "http://localhost:8080/fhir/Practitioner/example-rec-02-false-due-to-careplan-within-90-days", - "resource": { - "resourceType": "Practitioner", - "id": "example-rec-02-false-due-to-careplan-within-90-days" - }, - "request": { - "method": "PUT", - "url": "Practitioner/example-rec-02-false-due-to-careplan-within-90-days" - } - }, { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-02-false-due-to-careplan-within-90-days", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-02-false-due-to-careplan-within-90-days", - "status": "active", - "intent": "order", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } ] - } ], - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } ] - }, - "subject": { - "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" - }, - "authoredOn": "2018-08-01T00:00:00.0Z", - "recorder": { - "reference": "Practitioner/example-rec-02-false-due-to-careplan-within-90-days" - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-02-false-due-to-careplan-within-90-days" - } - }, { - "fullUrl": "http://localhost:8080/fhir/CarePlan/example-rec-02-false-due-to-careplan-within-90-days", - "resource": { - "resourceType": "CarePlan", - "id": "example-rec-02-false-due-to-careplan-within-90-days", - "meta": { - "lastUpdated": "2022-01-09T00:00:00Z" - }, - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "active", - "intent": "plan", - "category": [ { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "103735009", - "display": "Palliative care" - } ] - } ], - "subject": { - "reference": "Patient/example-rec-02-false-due-to-careplan-within-90-days" - }, - "created": "2022-03-16", - "author": { - "reference": "Practitioner/example-rec-02-false-due-to-careplan-within-90-days" - } - }, - "request": { - "method": "PUT", - "url": "CarePlan/example-rec-02-false-due-to-careplan-within-90-days" - } - } ] -} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-02-true-make-recommendations.json b/input/examples/bundle-example-rec-02-true-make-recommendations.json deleted file mode 100644 index 3488b19d..00000000 --- a/input/examples/bundle-example-rec-02-true-make-recommendations.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-02-true-make-recommendations", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-02-true-make-recommendations", - "resource": { - "resourceType": "Patient", - "id": "example-rec-02-true-make-recommendations", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-07-14" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-02-true-make-recommendations" - } - }, { - "fullUrl": "http://localhost:8080/fhir/Practitioner/example-rec-02-true-make-recommendations", - "resource": { - "resourceType": "Practitioner", - "id": "example-rec-02-true-make-recommendations" - }, - "request": { - "method": "PUT", - "url": "Practitioner/example-rec-02-true-make-recommendations" - } - }, { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-02-true-make-recommendations", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-02-true-make-recommendations", - "status": "active", - "intent": "order", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } ] - } ], - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } ] - }, - "subject": { - "reference": "Patient/example-rec-02-true-make-recommendations" - }, - "authoredOn": "2018-01-01T00:00:00.0Z", - "recorder": { - "reference": "Practitioner/example-rec-02-true-make-recommendations" - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-02-true-make-recommendations" - } - }, { - "fullUrl": "http://localhost:8080/fhir/CarePlan/example-rec-02-true-make-recommendations", - "resource": { - "resourceType": "CarePlan", - "id": "example-rec-02-true-make-recommendations", - "meta": { - "lastUpdated": "2021-12-09T00:00:00Z" - }, - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "active", - "intent": "plan", - "category": [ { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "103735009", - "display": "Palliative care" - } ] - } ], - "subject": { - "reference": "Patient/example-rec-02-true-make-recommendations" - }, - "created": "2022-03-16", - "author": { - "reference": "Practitioner/example-rec-02-true-make-recommendations" - } - }, - "request": { - "method": "PUT", - "url": "CarePlan/example-rec-02-true-make-recommendations" - } - } ] -} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json b/input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json deleted file mode 100644 index aba911b5..00000000 --- a/input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-03-false-due-to-discussion-within-90-days", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-03-false-due-to-discussion-within-90-days", - "resource": { - "resourceType": "Patient", - "id": "7bdbc7ea-f76d-476e-bf94-85c6e368df67-1", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-07-14" - }, - "request": { - "method": "PUT", - "url": "Patient/7bdbc7ea-f76d-476e-bf94-85c6e368df67-1" - } - }, { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-03-false-due-to-discussion-within-90-days", - "resource": { - "resourceType": "MedicationRequest", - "id": "7bdbc7ea-f76d-476e-bf94-85c6e368df67-3", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "active", - "intent": "order", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } ] - } ], - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } ] - }, - "subject": { - "reference": "Patient/7bdbc7ea-f76d-476e-bf94-85c6e368df67-1" - }, - "authoredOn": "2018-11-06T07:00:00.000Z" - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/7bdbc7ea-f76d-476e-bf94-85c6e368df67-3" - } - }, { - "fullUrl": "http://localhost:8080/fhir/Procedure/example-rec-03-false-due-to-discussion-within-90-days", - "resource": { - "resourceType": "Procedure", - "id": "7bdbc7ea-f76d-476e-bf94-85c6e368df67-21", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "completed", - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "313071005", - "display": "Counseling for substance abuse (procedure)" - } ] - }, - "subject": { - "reference": "Patient/7bdbc7ea-f76d-476e-bf94-85c6e368df67-1" - }, - "performedPeriod": { - "start": "2022-04-16", - "end": "2022-04-17" - } - }, - "request": { - "method": "PUT", - "url": "Procedure/7bdbc7ea-f76d-476e-bf94-85c6e368df67-21" - } - } ] -} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-03-true-make-recommendations.json b/input/examples/bundle-example-rec-03-true-make-recommendations.json deleted file mode 100644 index 6085b97a..00000000 --- a/input/examples/bundle-example-rec-03-true-make-recommendations.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-03-true-make-recommendations", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-03-true-make-recommendations", - "resource": { - "resourceType": "Patient", - "id": "example-rec-03-true-make-recommendations", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-07-14" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-03-true-make-recommendations" - } - }, { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-03-true-make-recommendations", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-03-true-make-recommendations", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "active", - "intent": "order", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } ] - } ], - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } ] - }, - "subject": { - "reference": "Patient/example-rec-03-true-make-recommendations" - }, - "authoredOn": "2018-11-06T07:00:00.000Z" - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-03-true-make-recommendations" - } - }, { - "fullUrl": "http://localhost:8080/fhir/Procedure/example-rec-03-true-make-recommendations", - "resource": { - "resourceType": "Procedure", - "id": "example-rec-03-true-make-recommendations", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "completed", - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "313071005", - "display": "Counseling for substance abuse (procedure)" - } ] - }, - "subject": { - "reference": "Patient/example-rec-03-true-make-recommendations" - }, - "performedPeriod": { - "start": "2022-03-15", - "end": "2022-04-14" - } - }, - "request": { - "method": "PUT", - "url": "Procedure/example-rec-03-true-make-recommendations" - } - } ] -} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-04-long-acting-opioid.xml b/input/examples/bundle-example-rec-04-long-acting-opioid.xml deleted file mode 100644 index d21e7554..00000000 --- a/input/examples/bundle-example-rec-04-long-acting-opioid.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-04-new-patient.xml b/input/examples/bundle-example-rec-04-new-patient.xml deleted file mode 100644 index 96cce4d5..00000000 --- a/input/examples/bundle-example-rec-04-new-patient.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml b/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml deleted file mode 100644 index 42054090..00000000 --- a/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml b/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml deleted file mode 100644 index 7edbbc2b..00000000 --- a/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml b/input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml deleted file mode 100644 index e86c8f36..00000000 --- a/input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-05-mme-less-than-fifty.xml b/input/examples/bundle-example-rec-05-mme-less-than-fifty.xml deleted file mode 100644 index 5f74db4e..00000000 --- a/input/examples/bundle-example-rec-05-mme-less-than-fifty.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-06-criteria-valid.json b/input/examples/bundle-example-rec-06-criteria-valid.json deleted file mode 100644 index e0742db3..00000000 --- a/input/examples/bundle-example-rec-06-criteria-valid.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-06-criteria-valid", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-06-criteria-valid", - "resource": { - "resourceType": "Patient", - "id": "example-rec-06-criteria-valid", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-08-03" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-06-criteria-valid" - } - }, { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-06-criteria-valid", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-06-criteria-valid", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "active", - "intent": "order", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } ] - } ], - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet" - } ] - }, - "subject": { - "reference": "Patient/example-rec-06-criteria-valid" - }, - "authoredOn": "2018-11-26T07:00:00.000Z", - "dispenseRequest": { - "expectedSupplyDuration": { - "value": 5.0, - "unit": "d" - } - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-06-criteria-valid" - } - } ] -} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json b/input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json deleted file mode 100644 index 44ddd9c4..00000000 --- a/input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-06-with-extended-release-for-27-days", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/fhir/Patient/example-rec-06-with-extended-release-for-27-days", - "resource": { - "resourceType": "Patient", - "id": "example-rec-06-with-extended-release-for-27-days", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-08-03" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-06-with-extended-release-for-27-days" - } - }, { - "fullUrl": "http://localhost:8080/fhir/MedicationRequest/example-rec-06-with-extended-release-for-27-days", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-06-with-extended-release-for-27-days", - "status": "active", - "intent": "order", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } ] - } ], - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1049502", - "display": "oxyCODONE HCl 10 MG 12HR Extended Release Oral Tablet" - } ] - }, - "subject": { - "reference": "Patient/example-rec-06-with-extended-release-for-27-days" - }, - "authoredOn": "2018-08-01T00:00:00.0Z", - "dispenseRequest": { - "expectedSupplyDuration": { - "value": 27, - "unit": "d" - } - } - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-06-with-extended-release-for-27-days" - } - } ] -} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-end-of-life-exclusion.xml b/input/examples/bundle-example-rec-07-end-of-life-exclusion.xml deleted file mode 100644 index 5f56f325..00000000 --- a/input/examples/bundle-example-rec-07-end-of-life-exclusion.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-risk-assessment.xml b/input/examples/bundle-example-rec-07-risk-assessment.xml deleted file mode 100644 index 418c7713..00000000 --- a/input/examples/bundle-example-rec-07-risk-assessment.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml b/input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml deleted file mode 100644 index 68bf05a3..00000000 --- a/input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-six-of-past-ten-days.xml b/input/examples/bundle-example-rec-07-six-of-past-ten-days.xml deleted file mode 100644 index 0c105843..00000000 --- a/input/examples/bundle-example-rec-07-six-of-past-ten-days.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml b/input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml deleted file mode 100644 index b0fce291..00000000 --- a/input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml b/input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml deleted file mode 100644 index c8f61fb6..00000000 --- a/input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml b/input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml deleted file mode 100644 index a7551d61..00000000 --- a/input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-08-mme-less-than-fifty.xml b/input/examples/bundle-example-rec-08-mme-less-than-fifty.xml deleted file mode 100644 index b2424f77..00000000 --- a/input/examples/bundle-example-rec-08-mme-less-than-fifty.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-08-on-benzodiazepine.xml b/input/examples/bundle-example-rec-08-on-benzodiazepine.xml deleted file mode 100644 index 9dc10f5b..00000000 --- a/input/examples/bundle-example-rec-08-on-benzodiazepine.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-08-on-naloxone.xml b/input/examples/bundle-example-rec-08-on-naloxone.xml deleted file mode 100644 index ee53fbc9..00000000 --- a/input/examples/bundle-example-rec-08-on-naloxone.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-08-substance-abuse.xml b/input/examples/bundle-example-rec-08-substance-abuse.xml deleted file mode 100644 index 0d267faf..00000000 --- a/input/examples/bundle-example-rec-08-substance-abuse.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json b/input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json deleted file mode 100644 index 57e83978..00000000 --- a/input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-09-false-due-to-PDMP-review-within-90-days", - "resource": { - "resourceType": "Patient", - "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-08-03" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" - } - }, { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Procedure/example-rec-09-false-due-to-PDMP-review-within-90-days", - "resource": { - "resourceType": "Procedure", - "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "completed", - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "461621000124108", - "display": "Review of prescription drug monitoring program record (procedure)" - } ] - }, - "subject": { - "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" - }, - "performedPeriod": { - "start": "2022-05-15", - "end": "2022-05-16" - } - }, - "request": { - "method": "PUT", - "url": "Procedure/example-rec-09-false-due-to-PDMP-review-within-90-days" - } - }, { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/MedicationRequest/example-rec-09-false-due-to-PDMP-review-within-90-days", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-09-false-due-to-PDMP-review-within-90-days", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "active", - "intent": "order", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } ] - } ], - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } ] - }, - "subject": { - "reference": "Patient/example-rec-09-false-due-to-PDMP-review-within-90-days" - }, - "authoredOn": "2018-11-06T07:00:00.000Z" - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-09-false-due-to-PDMP-review-within-90-days" - } - } ] -} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-09-true-return-recommendations.json b/input/examples/bundle-example-rec-09-true-return-recommendations.json deleted file mode 100644 index 2e007ebb..00000000 --- a/input/examples/bundle-example-rec-09-true-return-recommendations.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-09-true-return-recommendations", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-09-true-return-recommendations", - "resource": { - "resourceType": "Patient", - "id": "example-rec-09-true-return-recommendations", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-08-03" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-09-true-return-recommendations" - } - }, { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Procedure/example-rec-09-true-return-recommendations", - "resource": { - "resourceType": "Procedure", - "id": "example-rec-09-true-return-recommendations", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "completed", - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "408957008", - "display": "Chronic pain control management (procedure)" - } ] - }, - "subject": { - "reference": "Patient/example-rec-09-true-return-recommendations" - }, - "performedPeriod": { - "start": "2018-04-08T06:00:00Z", - "end": "2018-04-09T06:00:00Z" - } - }, - "request": { - "method": "PUT", - "url": "Procedure/example-rec-09-true-return-recommendations" - } - }, { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/MedicationRequest/example-rec-09-true-return-recommendations", - "resource": { - "resourceType": "MedicationRequest", - "id": "example-rec-09-true-return-recommendations", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "status": "active", - "intent": "order", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/fhir/CodeSystem/medicationdispense-category", - "code": "outpatient", - "display": "Outpatient" - } ] - } ], - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010603", - "display": "Suboxone 2 MG / 0.5 MG Sublingual Film" - } ] - }, - "subject": { - "reference": "Patient/example-rec-09-true-return-recommendations" - }, - "authoredOn": "2018-11-06T07:00:00.000Z" - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/example-rec-09-true-return-recommendations" - } - } ] -} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml b/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml deleted file mode 100644 index 820817ea..00000000 --- a/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-illicit-drugs.xml b/input/examples/bundle-example-rec-10-illicit-drugs.xml deleted file mode 100644 index d05e38d4..00000000 --- a/input/examples/bundle-example-rec-10-illicit-drugs.xml +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-missing-prescribed-opioids.xml b/input/examples/bundle-example-rec-10-missing-prescribed-opioids.xml deleted file mode 100644 index a40ea023..00000000 --- a/input/examples/bundle-example-rec-10-missing-prescribed-opioids.xml +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-no-screenings.xml b/input/examples/bundle-example-rec-10-no-screenings.xml deleted file mode 100644 index a3bc156b..00000000 --- a/input/examples/bundle-example-rec-10-no-screenings.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-not-missing-prescribed-opioids.xml b/input/examples/bundle-example-rec-10-not-missing-prescribed-opioids.xml deleted file mode 100644 index 20a8f0cb..00000000 --- a/input/examples/bundle-example-rec-10-not-missing-prescribed-opioids.xml +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-10-unprescribed-opioids.xml b/input/examples/bundle-example-rec-10-unprescribed-opioids.xml deleted file mode 100644 index 5aa69846..00000000 --- a/input/examples/bundle-example-rec-10-unprescribed-opioids.xml +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml b/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml deleted file mode 100644 index d069c110..00000000 --- a/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml b/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml deleted file mode 100644 index 42bf38ce..00000000 --- a/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml b/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml deleted file mode 100644 index ee8a47d5..00000000 --- a/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml b/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml deleted file mode 100644 index b93a01ff..00000000 --- a/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/bundle-example-rec-12-criteria-invalid.json b/input/examples/bundle-example-rec-12-criteria-invalid.json deleted file mode 100644 index 3b650af7..00000000 --- a/input/examples/bundle-example-rec-12-criteria-invalid.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-12-criteria-invalid", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-12-criteria-invalid", - "resource": { - "resourceType": "Patient", - "id": "example-rec-12-criteria-invalid", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-08-03" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-12-criteria-invalid" - } - }, { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Conditions/example-rec-12-criteria-invalid", - "resource": { - "resourceType": "Condition", - "id": "example-rec-12-criteria-invalid", - "clinicalStatus": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "active", - "display": "Active" - } ] - }, - "verificationStatus": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", - "code": "confirmed", - "display": "Confirmed" - } ] - }, - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "716635007", - "display": "Cognitive communication disorder (disorder)" - } ] - }, - "subject": { - "reference": "Patient/example-rec-12-criteria-invalid" - } - }, - "request": { - "method": "PUT", - "url": "Condition/example-rec-12-criteria-invalid" - } - } ] -} \ No newline at end of file diff --git a/input/examples/bundle-example-rec-12-criteria-valid.json b/input/examples/bundle-example-rec-12-criteria-valid.json deleted file mode 100644 index 60eefea0..00000000 --- a/input/examples/bundle-example-rec-12-criteria-valid.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "resourceType": "Bundle", - "id": "example-rec-12-criteria-valid", - "type": "transaction", - "entry": [ { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Patient/example-rec-12-criteria-valid", - "resource": { - "resourceType": "Patient", - "id": "example-rec-12-criteria-valid", - "extension": [ { - "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", - "extension": [ { - "url": "dateLastUpdated", - "valueDateTime": "2022-08-03" - }, { - "url": "frequency", - "valueDuration": { - "value": 30.0, - "unit": "days", - "system": "http://unitsofmeasure.org", - "code": "d" - } - } ] - } ], - "birthDate": "2002-08-03" - }, - "request": { - "method": "PUT", - "url": "Patient/example-rec-12-criteria-valid" - } - }, { - "fullUrl": "http://localhost:8080/cqf-ruler-r4/fhir/Condition/example-rec-12-criteria-valid", - "resource": { - "resourceType": "Condition", - "id": "example-rec-12-criteria-valid", - "clinicalStatus": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "active", - "display": "Active" - } ] - }, - "verificationStatus": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", - "code": "confirmed", - "display": "Confirmed" - } ] - }, - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } ] - } ], - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "191865004", - "display": "Combined opioid with other drug dependence" - } ] - }, - "subject": { - "reference": "Patient/example-rec-12-criteria-valid" - } - }, - "request": { - "method": "PUT", - "url": "Condition/example-rec-12-criteria-valid" - } - } ] -} \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-long-acting-opioid-context.xml b/input/examples/encounter-example-rec-04-long-acting-opioid-context.xml deleted file mode 100644 index 8f9814e2..00000000 --- a/input/examples/encounter-example-rec-04-long-acting-opioid-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-long-acting-opioid-prefetch.xml b/input/examples/encounter-example-rec-04-long-acting-opioid-prefetch.xml deleted file mode 100644 index 1f534676..00000000 --- a/input/examples/encounter-example-rec-04-long-acting-opioid-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-new-patient-context.xml b/input/examples/encounter-example-rec-04-new-patient-context.xml deleted file mode 100644 index 943121b6..00000000 --- a/input/examples/encounter-example-rec-04-new-patient-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-not-long-acting-opioid-context.xml b/input/examples/encounter-example-rec-04-not-long-acting-opioid-context.xml deleted file mode 100644 index 3bd6cbea..00000000 --- a/input/examples/encounter-example-rec-04-not-long-acting-opioid-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-not-long-acting-opioid-prefetch.xml b/input/examples/encounter-example-rec-04-not-long-acting-opioid-prefetch.xml deleted file mode 100644 index 1e3c6aaa..00000000 --- a/input/examples/encounter-example-rec-04-not-long-acting-opioid-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-context.xml b/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-context.xml deleted file mode 100644 index b8288762..00000000 --- a/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-prefetch.xml b/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-prefetch.xml deleted file mode 100644 index 8160909c..00000000 --- a/input/examples/encounter-example-rec-04-opioid-with-abuse-potential-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-05-mme-greater-than-fifty-context.xml b/input/examples/encounter-example-rec-05-mme-greater-than-fifty-context.xml deleted file mode 100644 index 067ca098..00000000 --- a/input/examples/encounter-example-rec-05-mme-greater-than-fifty-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-05-mme-less-than-fifty-context.xml b/input/examples/encounter-example-rec-05-mme-less-than-fifty-context.xml deleted file mode 100644 index 5d608cfc..00000000 --- a/input/examples/encounter-example-rec-05-mme-less-than-fifty-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-end-of-life-exclusion-context.xml b/input/examples/encounter-example-rec-07-end-of-life-exclusion-context.xml deleted file mode 100644 index 82f8e0e5..00000000 --- a/input/examples/encounter-example-rec-07-end-of-life-exclusion-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-end-of-life-exclusion-prefetch.xml b/input/examples/encounter-example-rec-07-end-of-life-exclusion-prefetch.xml deleted file mode 100644 index f9eaf763..00000000 --- a/input/examples/encounter-example-rec-07-end-of-life-exclusion-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-risk-assessment-context.xml b/input/examples/encounter-example-rec-07-risk-assessment-context.xml deleted file mode 100644 index 0f6f6ce9..00000000 --- a/input/examples/encounter-example-rec-07-risk-assessment-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-risk-assessment-prefetch.xml b/input/examples/encounter-example-rec-07-risk-assessment-prefetch.xml deleted file mode 100644 index d090c43f..00000000 --- a/input/examples/encounter-example-rec-07-risk-assessment-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-seven-of-past-ten-days-context.xml b/input/examples/encounter-example-rec-07-seven-of-past-ten-days-context.xml deleted file mode 100644 index b9bfe115..00000000 --- a/input/examples/encounter-example-rec-07-seven-of-past-ten-days-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-seven-of-past-ten-days-prefetch.xml b/input/examples/encounter-example-rec-07-seven-of-past-ten-days-prefetch.xml deleted file mode 100644 index 3261cf36..00000000 --- a/input/examples/encounter-example-rec-07-seven-of-past-ten-days-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-six-of-past-ten-days-context.xml b/input/examples/encounter-example-rec-07-six-of-past-ten-days-context.xml deleted file mode 100644 index 21391f60..00000000 --- a/input/examples/encounter-example-rec-07-six-of-past-ten-days-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-six-of-past-ten-days-prefetch.xml b/input/examples/encounter-example-rec-07-six-of-past-ten-days-prefetch.xml deleted file mode 100644 index 1c34f80a..00000000 --- a/input/examples/encounter-example-rec-07-six-of-past-ten-days-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-context.xml b/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-context.xml deleted file mode 100644 index 52b639b3..00000000 --- a/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml b/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml deleted file mode 100644 index 22fb08da..00000000 --- a/input/examples/encounter-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-context.xml b/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-context.xml deleted file mode 100644 index 95e01473..00000000 --- a/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml b/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml deleted file mode 100644 index cd2fd109..00000000 --- a/input/examples/encounter-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-mme-greater-than-fifty-context.xml b/input/examples/encounter-example-rec-08-mme-greater-than-fifty-context.xml deleted file mode 100644 index 9124d534..00000000 --- a/input/examples/encounter-example-rec-08-mme-greater-than-fifty-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-mme-less-than-fifty-context.xml b/input/examples/encounter-example-rec-08-mme-less-than-fifty-context.xml deleted file mode 100644 index 9c1914ec..00000000 --- a/input/examples/encounter-example-rec-08-mme-less-than-fifty-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-on-benzodiazepine-context.xml b/input/examples/encounter-example-rec-08-on-benzodiazepine-context.xml deleted file mode 100644 index 6e095bea..00000000 --- a/input/examples/encounter-example-rec-08-on-benzodiazepine-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-on-benzodiazepine-prefetch.xml b/input/examples/encounter-example-rec-08-on-benzodiazepine-prefetch.xml deleted file mode 100644 index 25b0609a..00000000 --- a/input/examples/encounter-example-rec-08-on-benzodiazepine-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-on-naloxone-context.xml b/input/examples/encounter-example-rec-08-on-naloxone-context.xml deleted file mode 100644 index 9b09685e..00000000 --- a/input/examples/encounter-example-rec-08-on-naloxone-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-on-naloxone-prefetch.xml b/input/examples/encounter-example-rec-08-on-naloxone-prefetch.xml deleted file mode 100644 index f5f3b3c4..00000000 --- a/input/examples/encounter-example-rec-08-on-naloxone-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-08-substance-abuse-context.xml b/input/examples/encounter-example-rec-08-substance-abuse-context.xml deleted file mode 100644 index 11961bd3..00000000 --- a/input/examples/encounter-example-rec-08-substance-abuse-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-end-of-life-med-exclusion-context.xml b/input/examples/encounter-example-rec-10-end-of-life-med-exclusion-context.xml deleted file mode 100644 index 3a5c4026..00000000 --- a/input/examples/encounter-example-rec-10-end-of-life-med-exclusion-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-illicit-drugs-context.xml b/input/examples/encounter-example-rec-10-illicit-drugs-context.xml deleted file mode 100644 index b5803eaf..00000000 --- a/input/examples/encounter-example-rec-10-illicit-drugs-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-illicit-drugs-prefetch.xml b/input/examples/encounter-example-rec-10-illicit-drugs-prefetch.xml deleted file mode 100644 index 61f9ea8f..00000000 --- a/input/examples/encounter-example-rec-10-illicit-drugs-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-missing-prescribed-opioids-context.xml b/input/examples/encounter-example-rec-10-missing-prescribed-opioids-context.xml deleted file mode 100644 index e995e336..00000000 --- a/input/examples/encounter-example-rec-10-missing-prescribed-opioids-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-missing-prescribed-opioids-prefetch.xml b/input/examples/encounter-example-rec-10-missing-prescribed-opioids-prefetch.xml deleted file mode 100644 index a925c342..00000000 --- a/input/examples/encounter-example-rec-10-missing-prescribed-opioids-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-no-screenings-context.xml b/input/examples/encounter-example-rec-10-no-screenings-context.xml deleted file mode 100644 index aa2b0b4d..00000000 --- a/input/examples/encounter-example-rec-10-no-screenings-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-no-screenings-prefetch.xml b/input/examples/encounter-example-rec-10-no-screenings-prefetch.xml deleted file mode 100644 index 8a4ad8ff..00000000 --- a/input/examples/encounter-example-rec-10-no-screenings-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-context.xml b/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-context.xml deleted file mode 100644 index 996f5ba6..00000000 --- a/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-prefetch.xml b/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-prefetch.xml deleted file mode 100644 index 1a46d6b0..00000000 --- a/input/examples/encounter-example-rec-10-not-missing-prescribed-opioids-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-unprescribed-opioids-context.xml b/input/examples/encounter-example-rec-10-unprescribed-opioids-context.xml deleted file mode 100644 index cc8752e5..00000000 --- a/input/examples/encounter-example-rec-10-unprescribed-opioids-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-10-unprescribed-opioids-prefetch.xml b/input/examples/encounter-example-rec-10-unprescribed-opioids-prefetch.xml deleted file mode 100644 index 1c10f584..00000000 --- a/input/examples/encounter-example-rec-10-unprescribed-opioids-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-context.xml b/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-context.xml deleted file mode 100644 index 49e5b2e6..00000000 --- a/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-prefetch.xml b/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-prefetch.xml deleted file mode 100644 index 8f18ad5a..00000000 --- a/input/examples/encounter-example-rec-11-benzo-trigger-with-opioid-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-benzo-trigger-without-opioid-context.xml b/input/examples/encounter-example-rec-11-benzo-trigger-without-opioid-context.xml deleted file mode 100644 index 95c918fb..00000000 --- a/input/examples/encounter-example-rec-11-benzo-trigger-without-opioid-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-context.xml b/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-context.xml deleted file mode 100644 index fe7f7b73..00000000 --- a/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-prefetch.xml b/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-prefetch.xml deleted file mode 100644 index c9a8a4d7..00000000 --- a/input/examples/encounter-example-rec-11-opioid-trigger-with-benzo-prefetch.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/encounter-example-rec-11-opioid-trigger-without-benzo-context.xml b/input/examples/encounter-example-rec-11-opioid-trigger-without-benzo-context.xml deleted file mode 100644 index 47c8aa28..00000000 --- a/input/examples/encounter-example-rec-11-opioid-trigger-without-benzo-context.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-04-long-acting-opioid-prefetch.xml b/input/examples/medicationrequest-example-rec-04-long-acting-opioid-prefetch.xml deleted file mode 100644 index 141bb8c4..00000000 --- a/input/examples/medicationrequest-example-rec-04-long-acting-opioid-prefetch.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-04-not-long-acting-opioid-prefetch.xml b/input/examples/medicationrequest-example-rec-04-not-long-acting-opioid-prefetch.xml deleted file mode 100644 index 151fca71..00000000 --- a/input/examples/medicationrequest-example-rec-04-not-long-acting-opioid-prefetch.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-04-opioid-with-abuse-potential-prefetch.xml b/input/examples/medicationrequest-example-rec-04-opioid-with-abuse-potential-prefetch.xml deleted file mode 100644 index 52e18895..00000000 --- a/input/examples/medicationrequest-example-rec-04-opioid-with-abuse-potential-prefetch.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-07-end-of-life-exclusion-prefetch.xml b/input/examples/medicationrequest-example-rec-07-end-of-life-exclusion-prefetch.xml deleted file mode 100644 index f557ba13..00000000 --- a/input/examples/medicationrequest-example-rec-07-end-of-life-exclusion-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-07-seven-of-past-ten-days-prefetch.xml b/input/examples/medicationrequest-example-rec-07-seven-of-past-ten-days-prefetch.xml deleted file mode 100644 index 888c4157..00000000 --- a/input/examples/medicationrequest-example-rec-07-seven-of-past-ten-days-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-07-six-of-past-ten-days-prefetch.xml b/input/examples/medicationrequest-example-rec-07-six-of-past-ten-days-prefetch.xml deleted file mode 100644 index 21c62d09..00000000 --- a/input/examples/medicationrequest-example-rec-07-six-of-past-ten-days-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml b/input/examples/medicationrequest-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml deleted file mode 100644 index 99669450..00000000 --- a/input/examples/medicationrequest-example-rec-07-sixtythree-of-past-ninety-days-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml b/input/examples/medicationrequest-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml deleted file mode 100644 index f5fad614..00000000 --- a/input/examples/medicationrequest-example-rec-07-sixtytwo-of-past-ninety-days-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-08-on-benzodiazepine-prefetch.xml b/input/examples/medicationrequest-example-rec-08-on-benzodiazepine-prefetch.xml deleted file mode 100644 index 5d018041..00000000 --- a/input/examples/medicationrequest-example-rec-08-on-benzodiazepine-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-08-on-naloxone-prefetch.xml b/input/examples/medicationrequest-example-rec-08-on-naloxone-prefetch.xml deleted file mode 100644 index 7fcbfbac..00000000 --- a/input/examples/medicationrequest-example-rec-08-on-naloxone-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-10-illicit-drugs-prefetch.xml b/input/examples/medicationrequest-example-rec-10-illicit-drugs-prefetch.xml deleted file mode 100644 index e0dadd05..00000000 --- a/input/examples/medicationrequest-example-rec-10-illicit-drugs-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-10-missing-prescribed-opioids-prefetch.xml b/input/examples/medicationrequest-example-rec-10-missing-prescribed-opioids-prefetch.xml deleted file mode 100644 index 52275b28..00000000 --- a/input/examples/medicationrequest-example-rec-10-missing-prescribed-opioids-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-10-no-screenings-prefetch.xml b/input/examples/medicationrequest-example-rec-10-no-screenings-prefetch.xml deleted file mode 100644 index 0d8b6e7a..00000000 --- a/input/examples/medicationrequest-example-rec-10-no-screenings-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-10-not-missing-prescribed-opioids-prefetch.xml b/input/examples/medicationrequest-example-rec-10-not-missing-prescribed-opioids-prefetch.xml deleted file mode 100644 index deaa2dcf..00000000 --- a/input/examples/medicationrequest-example-rec-10-not-missing-prescribed-opioids-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-10-unprescribed-opioids-prefetch.xml b/input/examples/medicationrequest-example-rec-10-unprescribed-opioids-prefetch.xml deleted file mode 100644 index c0d21b5f..00000000 --- a/input/examples/medicationrequest-example-rec-10-unprescribed-opioids-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-11-benzo-trigger-with-opioid-prefetch.xml b/input/examples/medicationrequest-example-rec-11-benzo-trigger-with-opioid-prefetch.xml deleted file mode 100644 index c14a54bc..00000000 --- a/input/examples/medicationrequest-example-rec-11-benzo-trigger-with-opioid-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/medicationrequest-example-rec-11-opioid-trigger-with-benzo-prefetch.xml b/input/examples/medicationrequest-example-rec-11-opioid-trigger-with-benzo-prefetch.xml deleted file mode 100644 index 2937f112..00000000 --- a/input/examples/medicationrequest-example-rec-11-opioid-trigger-with-benzo-prefetch.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/observation-example-rec-10-illicit-drugs-prefetch.xml b/input/examples/observation-example-rec-10-illicit-drugs-prefetch.xml deleted file mode 100644 index f355b34f..00000000 --- a/input/examples/observation-example-rec-10-illicit-drugs-prefetch.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/observation-example-rec-10-missing-prescribed-opioids-prefetch.xml b/input/examples/observation-example-rec-10-missing-prescribed-opioids-prefetch.xml deleted file mode 100644 index 477495bf..00000000 --- a/input/examples/observation-example-rec-10-missing-prescribed-opioids-prefetch.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/observation-example-rec-10-not-missing-prescribed-opioids-prefetch.xml b/input/examples/observation-example-rec-10-not-missing-prescribed-opioids-prefetch.xml deleted file mode 100644 index e0c7623e..00000000 --- a/input/examples/observation-example-rec-10-not-missing-prescribed-opioids-prefetch.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-codeine.xml b/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-codeine.xml deleted file mode 100644 index 19060d79..00000000 --- a/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-codeine.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-oxycodone.xml b/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-oxycodone.xml deleted file mode 100644 index a6ab325c..00000000 --- a/input/examples/observation-example-rec-10-unprescribed-opioids-prefetch-oxycodone.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-04-long-acting-opioid.xml b/input/examples/patient-example-rec-04-long-acting-opioid.xml deleted file mode 100644 index b773ba7f..00000000 --- a/input/examples/patient-example-rec-04-long-acting-opioid.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-04-new-patient.xml b/input/examples/patient-example-rec-04-new-patient.xml deleted file mode 100644 index be5a409a..00000000 --- a/input/examples/patient-example-rec-04-new-patient.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-04-not-long-acting-opioid.xml b/input/examples/patient-example-rec-04-not-long-acting-opioid.xml deleted file mode 100644 index b559dac9..00000000 --- a/input/examples/patient-example-rec-04-not-long-acting-opioid.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-04-opioid-with-abuse-potential.xml b/input/examples/patient-example-rec-04-opioid-with-abuse-potential.xml deleted file mode 100644 index f9787682..00000000 --- a/input/examples/patient-example-rec-04-opioid-with-abuse-potential.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-05-mme-greater-than-fifty.xml b/input/examples/patient-example-rec-05-mme-greater-than-fifty.xml deleted file mode 100644 index 19ba3fd6..00000000 --- a/input/examples/patient-example-rec-05-mme-greater-than-fifty.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-05-mme-less-than-fifty.xml b/input/examples/patient-example-rec-05-mme-less-than-fifty.xml deleted file mode 100644 index ba63b1fd..00000000 --- a/input/examples/patient-example-rec-05-mme-less-than-fifty.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-end-of-life-exclusion.xml b/input/examples/patient-example-rec-07-end-of-life-exclusion.xml deleted file mode 100644 index 4e3231e2..00000000 --- a/input/examples/patient-example-rec-07-end-of-life-exclusion.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-risk-assessment.xml b/input/examples/patient-example-rec-07-risk-assessment.xml deleted file mode 100644 index 2b0ccc4f..00000000 --- a/input/examples/patient-example-rec-07-risk-assessment.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-seven-of-past-ten-days.xml b/input/examples/patient-example-rec-07-seven-of-past-ten-days.xml deleted file mode 100644 index 5ab33057..00000000 --- a/input/examples/patient-example-rec-07-seven-of-past-ten-days.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-six-of-past-ten-days.xml b/input/examples/patient-example-rec-07-six-of-past-ten-days.xml deleted file mode 100644 index e6d2230c..00000000 --- a/input/examples/patient-example-rec-07-six-of-past-ten-days.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-sixtythree-of-past-ninety-days.xml b/input/examples/patient-example-rec-07-sixtythree-of-past-ninety-days.xml deleted file mode 100644 index 0689fe5c..00000000 --- a/input/examples/patient-example-rec-07-sixtythree-of-past-ninety-days.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-07-sixtytwo-of-past-ninety-days.xml b/input/examples/patient-example-rec-07-sixtytwo-of-past-ninety-days.xml deleted file mode 100644 index 3a3ddc4f..00000000 --- a/input/examples/patient-example-rec-07-sixtytwo-of-past-ninety-days.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-08-mme-greater-than-fifty.xml b/input/examples/patient-example-rec-08-mme-greater-than-fifty.xml deleted file mode 100644 index 45c99a73..00000000 --- a/input/examples/patient-example-rec-08-mme-greater-than-fifty.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-08-mme-less-than-fifty.xml b/input/examples/patient-example-rec-08-mme-less-than-fifty.xml deleted file mode 100644 index ffe15835..00000000 --- a/input/examples/patient-example-rec-08-mme-less-than-fifty.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-08-on-benzodiazepine.xml b/input/examples/patient-example-rec-08-on-benzodiazepine.xml deleted file mode 100644 index 24ffbea3..00000000 --- a/input/examples/patient-example-rec-08-on-benzodiazepine.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-08-on-naloxone.xml b/input/examples/patient-example-rec-08-on-naloxone.xml deleted file mode 100644 index 77ab2248..00000000 --- a/input/examples/patient-example-rec-08-on-naloxone.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-08-substance-abuse.xml b/input/examples/patient-example-rec-08-substance-abuse.xml deleted file mode 100644 index 7d97ea3b..00000000 --- a/input/examples/patient-example-rec-08-substance-abuse.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-end-of-life-med-exclusion.xml b/input/examples/patient-example-rec-10-end-of-life-med-exclusion.xml deleted file mode 100644 index 32f052ad..00000000 --- a/input/examples/patient-example-rec-10-end-of-life-med-exclusion.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-illicit-drugs.xml b/input/examples/patient-example-rec-10-illicit-drugs.xml deleted file mode 100644 index ffbd540c..00000000 --- a/input/examples/patient-example-rec-10-illicit-drugs.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-missing-prescribed-opioids.xml b/input/examples/patient-example-rec-10-missing-prescribed-opioids.xml deleted file mode 100644 index 0bdb447e..00000000 --- a/input/examples/patient-example-rec-10-missing-prescribed-opioids.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-no-screenings.xml b/input/examples/patient-example-rec-10-no-screenings.xml deleted file mode 100644 index e6e6375e..00000000 --- a/input/examples/patient-example-rec-10-no-screenings.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-not-missing-prescribed-opioids.xml b/input/examples/patient-example-rec-10-not-missing-prescribed-opioids.xml deleted file mode 100644 index 89c85c1b..00000000 --- a/input/examples/patient-example-rec-10-not-missing-prescribed-opioids.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-10-unprescribed-opioids.xml b/input/examples/patient-example-rec-10-unprescribed-opioids.xml deleted file mode 100644 index 9c644a39..00000000 --- a/input/examples/patient-example-rec-10-unprescribed-opioids.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-11-benzo-trigger-with-opioid.xml b/input/examples/patient-example-rec-11-benzo-trigger-with-opioid.xml deleted file mode 100644 index 7d663a96..00000000 --- a/input/examples/patient-example-rec-11-benzo-trigger-with-opioid.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-11-benzo-trigger-without-opioid.xml b/input/examples/patient-example-rec-11-benzo-trigger-without-opioid.xml deleted file mode 100644 index 6656a072..00000000 --- a/input/examples/patient-example-rec-11-benzo-trigger-without-opioid.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-11-opioid-trigger-with-benzo.xml b/input/examples/patient-example-rec-11-opioid-trigger-with-benzo.xml deleted file mode 100644 index fa7cef39..00000000 --- a/input/examples/patient-example-rec-11-opioid-trigger-with-benzo.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/patient-example-rec-11-opioid-trigger-without-benzo.xml b/input/examples/patient-example-rec-11-opioid-trigger-without-benzo.xml deleted file mode 100644 index c1b33aca..00000000 --- a/input/examples/patient-example-rec-11-opioid-trigger-without-benzo.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/examples/procedure-example-rec-07-risk-assessment-prefetch.xml b/input/examples/procedure-example-rec-07-risk-assessment-prefetch.xml deleted file mode 100644 index 2eb43518..00000000 --- a/input/examples/procedure-example-rec-07-risk-assessment-prefetch.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/input/opioid-cds.xml b/input/opioid-cds.xml index e47a3f36..96bafc14 100644 --- a/input/opioid-cds.xml +++ b/input/opioid-cds.xml @@ -25,10 +25,10 @@ - + - + diff --git a/input/pagecontent/recommendation-10-order-sign.xml b/input/pagecontent/recommendation-10-order-sign.xml index 7e6f7d9e..45c887a8 100644 --- a/input/pagecontent/recommendation-10-order-sign.xml +++ b/input/pagecontent/recommendation-10-order-sign.xml @@ -108,13 +108,13 @@ ii. Indicate that the prescription is not for chronic pain management and snooze for 3 months
iii. Indicate that it is not applicable, log a comment and snooze for 3 months. - Request JSON - Response JSON + Request JSON + Response JSON Patient 18 or older. Patient is being prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RxNorm code 197696) and a urine screening with the prescence of Phencyclidine is present. This triggers the message "Positive Cocaine or PCP in Urine Screening" with a note explaining this may be a false positive or indicate recreational or addictive use. - Request JSON - Response JSON + Request JSON + Response JSON diff --git a/input/pagecontent/recommendation-10-patient-view.xml b/input/pagecontent/recommendation-10-patient-view.xml index 6c84147b..c3cfa188 100644 --- a/input/pagecontent/recommendation-10-patient-view.xml +++ b/input/pagecontent/recommendation-10-patient-view.xml @@ -116,8 +116,8 @@ Patient 18 or older. Patient is being prescribed 72 HR Fentanyl 0.075 MG/HR Transdermal System (RxNorm code 197696), once every 12 days for 30 days. Patient has condition indicating end of life (Carcinoma of endocrine pancreas). The patient will be excluded and no message will be triggered - an empty set of cards will be returned. - Request JSON - Response JSON + Request JSON + Response JSON diff --git a/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs.json similarity index 100% rename from input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-2-illicit-drugs.json rename to input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-illicit-drugs.json diff --git a/input/pagecontent/responses/OpioidCDSREC10OrderSign/response-example-rec-10-order-sign-2-illicit-drugs.json b/input/pagecontent/responses/OpioidCDSREC10OrderSign/response-example-rec-10-order-sign-illicit-drugs.json similarity index 100% rename from input/pagecontent/responses/OpioidCDSREC10OrderSign/response-example-rec-10-order-sign-2-illicit-drugs.json rename to input/pagecontent/responses/OpioidCDSREC10OrderSign/response-example-rec-10-order-sign-illicit-drugs.json diff --git a/input/pagecontent/test.xml b/input/pagecontent/test.xml index c793141c..e03891c9 100644 --- a/input/pagecontent/test.xml +++ b/input/pagecontent/test.xml @@ -5,210 +5,170 @@ - + - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + - - - - - - - diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index 8c88a2bf..cef01582 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -2193,7 +2193,7 @@ "method": "POST", "sortNum": 32500, "created": "2022-08-19T06:23:02.556Z", - "modified": "2022-08-19T06:26:41.092Z", + "modified": "2022-08-19T06:58:22.368Z", "headers": [ { "name": "Content-Type", @@ -2224,7 +2224,7 @@ "type": "json-query", "custom": "json.cards[0].detail", "action": "equal", - "value": "
*Positive for PCP:
2022-04-14
Note: result may be false positive result or indicate patient is occasional user or addicted to the illicit drug." + "value": "
*Positive for Cocaine:
2022-03-14
*Positive for PCP:
2022-04-14
Note: result may be false positive result or indicate patient is occasional user or addicted to the illicit drug." }, { "type": "json-query", From 3c3f85fb2bbff1e73e5a83b80887ea9af6894ab3 Mon Sep 17 00:00:00 2001 From: c-schuler Date: Fri, 19 Aug 2022 13:26:46 -0600 Subject: [PATCH 22/24] Updated readme and added a commit policy --- README.md | 2 + commit_policy.md | 22 ++++++ thunder-tests/thunderEnvironment.json | 6 +- thunder-tests/thunderclient.json | 108 +++++++++++++------------- 4 files changed, 79 insertions(+), 59 deletions(-) create mode 100644 commit_policy.md diff --git a/README.md b/README.md index 35a735bf..b1592ed1 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,8 @@ The guide currently includes artifacts to support all 12 recommendations contain Feedback and issues can be submitted via the [issues](issues) page, and will be incorporated into subsequent releases as time and resources allow. +Contributions must follow the commit policy defined [here](/commit_policy.md) + ## Repository and Build Information This repository contains the source for the Opioid Prescribing Support Implementation Guide, and uses the [FHIR Implementation Guide publisher](http://wiki.hl7.org/index.php?title=IG_Publisher_Documentation) to produce a FHIR Implementation Guide. diff --git a/commit_policy.md b/commit_policy.md new file mode 100644 index 00000000..c4770062 --- /dev/null +++ b/commit_policy.md @@ -0,0 +1,22 @@ +## Commit Policy + +All new development takes place on `` branches off `master`. Once feature development on the branch is complete, the feature branch is submitted to `master` as a PR. The PR is reviewed by maintainers and testing is performed by the reviewer (see the [Testing](#testing) section for more information). + +Changes to the `master` branch must be done through an approved PR. Delete branches after merging to keep the repository clean. + +### Testing +Testing _MUST_ be performed when a PR contains changes to the CQL or knowledge artifacts. The PR author _SHOULD_ test their changes and the reviewer _MUST_ test the changes before approving and merging the PR. Testing is performed using the Thunder Client test suite located at the root of this project (`thunder-tests` directory). + +Follow the following steps to run the test suite: + +1. Install the [Thunder Client](https://www.thunderclient.com) VSCode extension +2. Navigate to the Thunder Client extension by clicking on the lightning bolt icon in the left sidebar menu +3. Set the `fhirServer` and `cdsHooksServer` environment variables by navigating to the `Env` tab and selecting the `OPIOID_TEST_LOCAL` environment + - The `fhirServer` variable points to the base URL of a FHIR server (used for transaction operations). Note that this endpoint _MUST_ be the same as the `fhirServer` property defined in the CDS Hooks requests that are being tested. + - The `cdsHooksServer` variable points to a CDS Hooks server discovery endpoint +4. Run the _refresh and _updateTestData scripts + - The result of running these operations _MUST_ be committed to the PR either by the PR author or reviewer +5. Run the test suite by navigating to the `Collections` tab, click the ellipsis next to the `OpioidCDSR4_Test_Suite` collection and select `Run All` +6. All tests _MUST_ pass before a PR will be approved and merged + +To update the test suite, ensure that your Thunder Client extension is configured with [Git Sync](https://github.com/rangav/thunder-client-support#git-sync) \ No newline at end of file diff --git a/thunder-tests/thunderEnvironment.json b/thunder-tests/thunderEnvironment.json index 008f60a1..2bfc0e9a 100644 --- a/thunder-tests/thunderEnvironment.json +++ b/thunder-tests/thunderEnvironment.json @@ -5,7 +5,7 @@ "default": true, "sortNum": 10000, "created": "2022-08-17T23:29:44.876Z", - "modified": "2022-08-17T23:38:00.218Z", + "modified": "2022-08-19T19:22:35.285Z", "data": [ { "name": "fhirServer", @@ -14,10 +14,6 @@ { "name": "cdsHooksServer", "value": "http://localhost:8080/cds-services" - }, - { - "name": "igBase", - "value": "/Users/christopherschuler/Documents/workspace/cqframework/igs/opioid-cds-r4" } ] } diff --git a/thunder-tests/thunderclient.json b/thunder-tests/thunderclient.json index cef01582..63fffd54 100644 --- a/thunder-tests/thunderclient.json +++ b/thunder-tests/thunderclient.json @@ -20,7 +20,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-01/opioidcds-01-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-01/opioidcds-01-bundle.json" }, "tests": [] }, @@ -45,7 +45,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-02/opioidcds-02-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-02/opioidcds-02-bundle.json" }, "tests": [] }, @@ -70,7 +70,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-03/opioidcds-03-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-03/opioidcds-03-bundle.json" }, "tests": [] }, @@ -95,7 +95,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-04/opioidcds-04-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-04/opioidcds-04-bundle.json" }, "tests": [] }, @@ -120,7 +120,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-04-patient-view/opioidcds-04-patient-view-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-04-patient-view/opioidcds-04-patient-view-bundle.json" }, "tests": [] }, @@ -145,7 +145,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-05/opioidcds-05-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-05/opioidcds-05-bundle.json" }, "tests": [] }, @@ -170,7 +170,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-06/opioidcds-06-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-06/opioidcds-06-bundle.json" }, "tests": [] }, @@ -195,7 +195,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-07/opioidcds-07-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-07/opioidcds-07-bundle.json" }, "tests": [] }, @@ -220,7 +220,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-08-order-sign/opioidcds-08-order-sign-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-08-order-sign/opioidcds-08-order-sign-bundle.json" }, "tests": [] }, @@ -245,7 +245,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-09/opioidcds-09-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-09/opioidcds-09-bundle.json" }, "tests": [] }, @@ -270,7 +270,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-10-order-sign/opioidcds-10-order-sign-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-10-order-sign/opioidcds-10-order-sign-bundle.json" }, "tests": [] }, @@ -295,7 +295,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-10-patient-view/opioidcds-10-patient-view-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-10-patient-view/opioidcds-10-patient-view-bundle.json" }, "tests": [] }, @@ -320,7 +320,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-11/opioidcds-11-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-11/opioidcds-11-bundle.json" }, "tests": [] }, @@ -345,7 +345,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-11-patient-view/opioidcds-11-patient-view-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-11-patient-view/opioidcds-11-patient-view-bundle.json" }, "tests": [] }, @@ -370,7 +370,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/bundles/plandefinition/opioidcds-12-patient-view/opioidcds-12-patient-view-bundle.json" + "binary": "../bundles/plandefinition/opioidcds-12-patient-view/opioidcds-12-patient-view-bundle.json" }, "tests": [] }, @@ -395,7 +395,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json" }, "tests": [ { @@ -445,7 +445,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json" }, "tests": [ { @@ -495,7 +495,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json" }, "tests": [ { @@ -551,7 +551,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json" }, "tests": [ { @@ -601,7 +601,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json" }, "tests": [ { @@ -651,7 +651,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json" }, "tests": [ { @@ -701,7 +701,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json" }, "tests": [ { @@ -751,7 +751,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json" }, "tests": [ { @@ -801,7 +801,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json" }, "tests": [ { @@ -851,7 +851,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json" }, "tests": [ { @@ -901,7 +901,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json" }, "tests": [ { @@ -951,7 +951,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json" }, "tests": [ { @@ -1001,7 +1001,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json" }, "tests": [ { @@ -1051,7 +1051,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json" }, "tests": [ { @@ -1101,7 +1101,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json" }, "tests": [ { @@ -1157,7 +1157,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json" }, "tests": [ { @@ -1207,7 +1207,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json" }, "tests": [ { @@ -1257,7 +1257,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json" }, "tests": [ { @@ -1295,7 +1295,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json" }, "tests": [ { @@ -1345,7 +1345,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json" }, "tests": [ { @@ -1383,7 +1383,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json" }, "tests": [ { @@ -1421,7 +1421,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json" }, "tests": [ { @@ -1459,7 +1459,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json" }, "tests": [ { @@ -1497,7 +1497,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json" }, "tests": [ { @@ -1547,7 +1547,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json" }, "tests": [ { @@ -1585,7 +1585,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json" }, "tests": [ { @@ -1623,7 +1623,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json" }, "tests": [ { @@ -1661,7 +1661,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json" }, "tests": [ { @@ -1699,7 +1699,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json" }, "tests": [ { @@ -1737,7 +1737,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json" }, "tests": [ { @@ -1775,7 +1775,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json" }, "tests": [ { @@ -1813,7 +1813,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json" }, "tests": [ { @@ -1851,7 +1851,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json" }, "tests": [ { @@ -1889,7 +1889,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json" }, "tests": [ { @@ -1939,7 +1939,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json" }, "tests": [ { @@ -1977,7 +1977,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json" }, "tests": [ { @@ -2015,7 +2015,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json" }, "tests": [ { @@ -2091,7 +2091,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json" }, "tests": [ { @@ -2129,7 +2129,7 @@ "type": "binary", "raw": "", "form": [], - "binary": "{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json" + "binary": "../input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json" }, "tests": [ { From e050e1a75d0ecae9b48a72773a934cc088b2c95f Mon Sep 17 00:00:00 2001 From: c-schuler Date: Fri, 19 Aug 2022 13:32:14 -0600 Subject: [PATCH 23/24] cleanup --- opioid-cds-r4-thunder-client-suite.json | 1 - 1 file changed, 1 deletion(-) delete mode 100644 opioid-cds-r4-thunder-client-suite.json diff --git a/opioid-cds-r4-thunder-client-suite.json b/opioid-cds-r4-thunder-client-suite.json deleted file mode 100644 index 6a468991..00000000 --- a/opioid-cds-r4-thunder-client-suite.json +++ /dev/null @@ -1 +0,0 @@ -{"client":"Thunder Client","collectionName":"OpioidCDSR4_Test_Suite","dateExported":"2022-08-04T00:59:26.356Z","version":"1.1","folders":[{"_id":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"REC_01","containerId":"","created":"2022-08-02T04:05:56.867Z","sortNum":10000},{"_id":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"REC_02","containerId":"","created":"2022-08-02T04:06:07.145Z","sortNum":20000},{"_id":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"REC_03","containerId":"","created":"2022-08-02T04:06:15.478Z","sortNum":30000},{"_id":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"REC_04_ORDER_SIGN","containerId":"","created":"2022-08-02T04:06:23.352Z","sortNum":32500},{"_id":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"REC_04_PATIENT_VIEW","containerId":"","created":"2022-08-02T04:09:55.751Z","sortNum":35000},{"_id":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"REC_05","containerId":"","created":"2022-08-02T04:06:31.938Z","sortNum":50000},{"_id":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"REC_06","containerId":"","created":"2022-08-02T04:06:38.479Z","sortNum":60000},{"_id":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REC_07","containerId":"","created":"2022-08-02T04:06:46.763Z","sortNum":70000},{"_id":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REC_08","containerId":"","created":"2022-08-02T04:06:54.271Z","sortNum":80000},{"_id":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"REC_09","containerId":"","created":"2022-08-02T04:07:02.147Z","sortNum":90000},{"_id":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"REC_10_ORDER_SIGN","containerId":"","created":"2022-08-02T04:07:15.371Z","sortNum":92500},{"_id":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"REC_10_PATIENT_VIEW","containerId":"","created":"2022-08-02T04:11:32.452Z","sortNum":95000},{"_id":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"REC_11_ORDER_SELECT","containerId":"","created":"2022-08-02T04:07:21.915Z","sortNum":110000},{"_id":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"REC_11_PATIENT_VIEW","containerId":"","created":"2022-08-02T04:12:17.635Z","sortNum":115000},{"_id":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"REC_12","containerId":"","created":"2022-08-02T04:07:28.888Z","sortNum":120000}],"requests":[{"_id":"681ce9e4-b97f-42fc-8876-015e172cf1c6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:14:13.230Z","modified":"2022-08-02T04:16:33.910Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-01/opioidcds-01-bundle.json"},"tests":[]},{"_id":"b28bb725-2091-4861-b025-4c5a7964fe94","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:16:46.495Z","modified":"2022-08-02T04:17:30.574Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-02/opioidcds-02-bundle.json"},"tests":[]},{"_id":"ef979e42-1f6e-45c3-8aa8-80f13f64ab9e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:18:17.227Z","modified":"2022-08-02T04:18:41.304Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-03/opioidcds-03-bundle.json"},"tests":[]},{"_id":"1571226b-fb02-4c94-861a-6cedf79e9881","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:19:01.193Z","modified":"2022-08-02T04:19:37.888Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-04/opioidcds-04-bundle.json"},"tests":[]},{"_id":"8f144cc8-c819-4fc4-8854-6b22a9aedbaa","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:19:53.127Z","modified":"2022-08-02T04:20:17.276Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-04-patient-view/opioidcds-04-patient-view-bundle.json"},"tests":[]},{"_id":"4a43d2cd-7f8f-460f-8a39-e3a6b91ba75e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:21:30.043Z","modified":"2022-08-02T04:21:57.136Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-05/opioidcds-05-bundle.json"},"tests":[]},{"_id":"379b79dc-9cb4-4804-be7a-4ca21fbb8198","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:22:11.832Z","modified":"2022-08-02T04:22:40.822Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-06/opioidcds-06-bundle.json"},"tests":[]},{"_id":"7c212bd1-8d12-451a-9711-694c1788d43b","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:22:50.799Z","modified":"2022-08-02T04:23:17.509Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-07/opioidcds-07-bundle.json"},"tests":[]},{"_id":"af8e5687-29ee-428e-ace6-3a0c44aa932c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:23:58.548Z","modified":"2022-08-02T04:25:54.830Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-08-order-sign/opioidcds-08-order-sign-bundle.json"},"tests":[]},{"_id":"6fa38d2a-c8ac-4b0c-9205-b11f6702fe32","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:26:57.281Z","modified":"2022-08-02T04:27:25.215Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-09/opioidcds-09-bundle.json"},"tests":[]},{"_id":"e5cc4ef1-c668-4d21-8c7d-3ae25894b859","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:27:29.899Z","modified":"2022-08-02T04:28:18.299Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-10-order-sign/opioidcds-10-order-sign-bundle.json"},"tests":[]},{"_id":"8583fe8c-390f-49b7-b970-129c2d07d6af","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:28:52.181Z","modified":"2022-08-02T04:29:20.870Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-10-patient-view/opioidcds-10-patient-view-bundle.json"},"tests":[]},{"_id":"e436a84e-6c74-46c0-8703-5cfab911a882","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:29:28.867Z","modified":"2022-08-02T04:30:26.575Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-11/opioidcds-11-bundle.json"},"tests":[]},{"_id":"f2b5203a-f641-444c-802a-4ed65ef3d142","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:30:31.064Z","modified":"2022-08-02T04:30:56.504Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-11-patient-view/opioidcds-11-patient-view-bundle.json"},"tests":[]},{"_id":"10c3f86a-936e-4a4b-9f02-c4275a489bff","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"LOAD_ARTIFACT_BUNDLE","url":"{{fhirServer}}","method":"POST","sortNum":10000,"created":"2022-08-02T04:31:05.995Z","modified":"2022-08-02T04:31:29.863Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/bundles/plandefinition/opioidcds-12-patient-view/opioidcds-12-patient-view-bundle.json"},"tests":[]},{"_id":"69ac6534-93c6-46c5-be1a-e3f0a995e37e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":17500,"created":"2022-08-02T05:01:06.069Z","modified":"2022-08-02T05:02:12.888Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-01-true-make-recommendations.json"},"tests":[]},{"_id":"10507c88-4a2d-45c8-b404-cdacef33e0b8","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T03:04:25.577Z","modified":"2022-08-03T03:05:25.481Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-02-true-make-recommendations.json"},"tests":[]},{"_id":"c7377682-7882-47fa-b71e-7336c45370ae","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T04:53:21.697Z","modified":"2022-08-03T05:00:44.963Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-03-true-make-recommendations.json"},"tests":[]},{"_id":"e506562c-6ce8-4d78-ad21-fc27e4e9ef8e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"LOAD_PATIENT_DATA_RECOMMENDATION_LAO","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:05:55.368Z","modified":"2022-08-03T05:07:43.329Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-long-acting-opioid.xml"},"tests":[]},{"_id":"ce0063fb-ffe1-465b-b329-a7f1ff889631","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"LOAD_PATIENT_DATA_RECOMMENDATION_LAO","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:08:40.764Z","modified":"2022-08-03T05:08:43.315Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-long-acting-opioid.xml"},"tests":[]},{"_id":"9e8ca991-d459-4273-983d-5ec9749a093c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:12:12.749Z","modified":"2022-08-03T17:04:32.863Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-05-mme-greater-than-fifty.xml"},"tests":[]},{"_id":"1a3e3a67-55fa-4681-b520-f650644c5ec0","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:12:25.447Z","modified":"2022-08-03T19:13:07.833Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-06-with-extended-release-for-27-days.json"},"tests":[]},{"_id":"6351f1e4-a3f8-42a0-ad19-0e0d63c4bb58","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_RECOMMENDATION_7OF10","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:12:51.481Z","modified":"2022-08-03T19:20:51.956Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-seven-of-past-ten-days.xml"},"tests":[]},{"_id":"131da82c-d9f7-4620-9246-6dbdf215beb3","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_PATIENT_DATA_RECOMMENDATION_MMEGT50","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:13:01.348Z","modified":"2022-08-03T19:26:06.706Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-08-mme-greater-than-fifty.xml"},"tests":[]},{"_id":"8b8bf6f1-8427-4969-bc39-f92c38ddba1e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:13:18.120Z","modified":"2022-08-03T21:49:01.536Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-09-true-return-recommendations.json"},"tests":[]},{"_id":"195e41ff-2e54-4ef3-a720-b0e31c84f04f","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:13:30.915Z","modified":"2022-08-03T22:03:07.731Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-10-no-screenings.xml"},"tests":[]},{"_id":"c5d367b1-c13b-412f-85d3-4804ba263f5f","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:13:46.233Z","modified":"2022-08-03T22:11:04.931Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-10-no-screenings.xml"},"tests":[]},{"_id":"95ebfeb2-d57c-4ce4-b0af-555799a46d34","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"LOAD_PATIENT_DATA_RECOMMENDATION_BWO","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:13:57.632Z","modified":"2022-08-03T22:12:53.358Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml"},"tests":[]},{"_id":"bad8ee28-f0d9-4a3b-9f8a-f6372ab36096","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"LOAD_PATIENT_DATA_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T05:14:27.417Z","modified":"2022-08-03T22:25:41.978Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-12-criteria-valid.json"},"tests":[]},{"_id":"6e4babed-067f-4168-bbdd-da76e1797884","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"LOAD_PATIENT_DATA_RECOMMENDATION_BWO","url":"{{fhirServer}}","method":"POST","sortNum":20000,"created":"2022-08-03T22:16:58.741Z","modified":"2022-08-03T22:17:11.262Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-with-opioid.xml"},"tests":[]},{"_id":"a91cbd63-d48e-4a05-bbb4-41099aac0305","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-01","method":"POST","sortNum":21250,"created":"2022-08-02T05:03:21.841Z","modified":"2022-08-03T05:04:15.604Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json"},"tests":[]},{"_id":"588daa35-d150-46d8-af4a-ad91e905d392","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"REQUEST_RETURN_RECOMMENDATION_LAO","url":"{{cdsHooksServer}}/opioidcds-04-patient-view","method":"POST","sortNum":22500,"created":"2022-08-03T23:18:13.712Z","modified":"2022-08-03T23:19:10.517Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-long-acting-opioid.json"},"tests":[]},{"_id":"f0d74844-5ee9-4ce0-a88b-3b1e623adb65","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_RECOMMENDATION_7OF10","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":22500,"created":"2022-08-03T23:34:36.672Z","modified":"2022-08-03T23:36:28.585Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json"},"tests":[]},{"_id":"3a6fbfc8-3bef-4227-a9fb-fc6473d51176","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REQUEST_RETURN_RECOMMENDATION_MMEGT50","url":"{{cdsHooksServer}}/opioidcds-08","method":"POST","sortNum":22500,"created":"2022-08-03T23:40:44.889Z","modified":"2022-08-03T23:42:24.434Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-greater-than-fifty.json"},"tests":[]},{"_id":"7af26f82-8872-4059-8542-6243bfc1b17d","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"REQUEST_RETURN_RECOMMENDATION_BWO","url":"{{cdsHooksServer}}/opioidcds-11","method":"POST","sortNum":22500,"created":"2022-08-03T23:59:04.883Z","modified":"2022-08-04T00:00:44.416Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json"},"tests":[]},{"_id":"3b08a8bc-6fae-4187-b295-2630353c9c45","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":25000,"created":"2022-08-02T05:01:08.785Z","modified":"2022-08-02T05:01:08.785Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-01-false-due-to-inpatient-opioid.json"},"tests":[]},{"_id":"482d98ed-0ae8-4596-bd5a-c962ff48ecbb","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_NP","url":"{{fhirServer}}","method":"POST","sortNum":25000,"created":"2022-08-03T16:51:34.611Z","modified":"2022-08-03T16:51:55.362Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-new-patient.xml"},"tests":[]},{"_id":"82509a94-3bc4-4c1b-80b7-8e746a41fd77","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_RECOMMENDATION_63OF90","url":"{{fhirServer}}","method":"POST","sortNum":25000,"created":"2022-08-03T19:21:30.522Z","modified":"2022-08-03T19:22:00.829Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-sixtythree-of-past-ninety-days.xml"},"tests":[]},{"_id":"13547db4-1938-4a68-9a7d-117b3df534a7","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_PATIENT_DATA_RECOMMENDATION_ONBENZO","url":"{{fhirServer}}","method":"POST","sortNum":25000,"created":"2022-08-03T19:29:53.569Z","modified":"2022-08-03T19:30:19.652Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-08-on-benzodiazepine.xml"},"tests":[]},{"_id":"6410336a-ca19-4c44-ac30-1a47d654d8f5","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"LOAD_PATIENT_DATA_RECOMMENDATION_OWB","url":"{{fhirServer}}","method":"POST","sortNum":25000,"created":"2022-08-03T22:13:34.809Z","modified":"2022-08-03T22:14:18.563Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml"},"tests":[]},{"_id":"d5db9ce7-3fa6-4ea9-a962-975ee50dbe85","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"REQUEST_RETURN_RECOMMENDATION_LAO","url":"{{cdsHooksServer}}/opioidcds-04","method":"POST","sortNum":25000,"created":"2022-08-03T23:11:53.162Z","modified":"2022-08-03T23:15:45.943Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json"},"tests":[]},{"_id":"3edfdd30-1762-453f-8902-7d1e09123c5f","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-05","method":"POST","sortNum":25000,"created":"2022-08-03T23:28:11.623Z","modified":"2022-08-03T23:28:53.967Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json"},"tests":[]},{"_id":"0eb03762-1196-413b-8ec7-e62b2e365f85","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-06","method":"POST","sortNum":25000,"created":"2022-08-03T23:31:10.921Z","modified":"2022-08-03T23:32:24.144Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-out-extended-release-27-days.json"},"tests":[]},{"_id":"2c1402a2-c5ca-4503-890c-017f6b592740","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-09","method":"POST","sortNum":25000,"created":"2022-08-03T23:49:52.254Z","modified":"2022-08-03T23:50:36.157Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-in-criteria-met.json"},"tests":[]},{"_id":"e354e9ed-74d5-40ae-abcf-3761dc0ece27","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-10","method":"POST","sortNum":25000,"created":"2022-08-03T23:53:05.522Z","modified":"2022-08-03T23:54:21.145Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json"},"tests":[]},{"_id":"d3a456f8-076b-4b7a-9dd7-7b85973bc399","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-10-patient-view","method":"POST","sortNum":25000,"created":"2022-08-03T23:57:03.167Z","modified":"2022-08-03T23:57:57.508Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-no-screenings.json"},"tests":[]},{"_id":"d01ca7b4-4c1b-40ad-b83c-cf115973400b","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"REQUEST_RETURN_RECOMMENDATION_BWO","url":"{{cdsHooksServer}}/opioidcds-11-patient-view","method":"POST","sortNum":25000,"created":"2022-08-04T00:06:07.245Z","modified":"2022-08-04T00:07:04.466Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-with-opioid.json"},"tests":[]},{"_id":"f8ca87f7-6393-4b3c-9dae-789f5ebb3e2e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-12","method":"POST","sortNum":25000,"created":"2022-08-04T00:09:59.914Z","modified":"2022-08-04T00:10:53.514Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-in-criteria-met.json"},"tests":[]},{"_id":"50be58b0-131b-49e3-a2f5-cc83bd3cb1a4","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REQUEST_RETURN_RECOMMENDATION_ONBENZO","url":"{{cdsHooksServer}}/opioidcds-08","method":"POST","sortNum":26250,"created":"2022-08-03T23:42:35.099Z","modified":"2022-08-03T23:43:07.781Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-benzodiazepine.json"},"tests":[]},{"_id":"77682221-4ebc-4a85-bc24-f285a57c7a7c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_PATIENT_DATA_RECOMMENDATION_SA","url":"{{fhirServer}}","method":"POST","sortNum":27500,"created":"2022-08-03T19:32:43.520Z","modified":"2022-08-03T19:33:17.489Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-08-substance-abuse.xml"},"tests":[]},{"_id":"a2e99670-bc39-4940-8187-fe949e195e63","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"REQUEST_RETURN_NO_RECOMMENDATION_NP","url":"{{cdsHooksServer}}/opioidcds-04-patient-view","method":"POST","sortNum":27500,"created":"2022-08-03T23:19:35.962Z","modified":"2022-08-03T23:20:02.020Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-new-patient.json"},"tests":[]},{"_id":"a1669ec3-9753-4aa8-85fe-ad018fa7d62e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_RECOMMENDATION_63OF90","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":27500,"created":"2022-08-03T23:35:30.004Z","modified":"2022-08-03T23:36:48.905Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json"},"tests":[]},{"_id":"8b7b9946-c1a0-41db-834c-1b9d9d57f2d1","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"REQUEST_RETURN_RECOMMENDATION_OWB","url":"{{cdsHooksServer}}/opioidcds-11","method":"POST","sortNum":27500,"created":"2022-08-04T00:00:49.182Z","modified":"2022-08-04T00:05:39.949Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json"},"tests":[]},{"_id":"bb7d131e-abb8-4ed7-bac3-7f3dad165b6b","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REQUEST_RETURN_RECOMMENDATION_SA","url":"{{cdsHooksServer}}/opioidcds-08","method":"POST","sortNum":28750,"created":"2022-08-03T23:43:15.586Z","modified":"2022-08-03T23:43:40.677Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-substance-abuse.json"},"tests":[]},{"_id":"f218b57d-3f22-4a41-8547-620bbd7aa189","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-02","method":"POST","sortNum":30000,"created":"2022-08-03T03:05:35.671Z","modified":"2022-08-03T05:03:52.539Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json"},"tests":[]},{"_id":"0b84a7bf-d4f9-45ab-a3e4-478a955b86d0","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"REQUEST_RETURN_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-03","method":"POST","sortNum":30000,"created":"2022-08-03T04:53:40.141Z","modified":"2022-08-03T05:03:28.554Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json"},"tests":[]},{"_id":"dac7a040-b952-49a8-bcd1-b25e2e0089f6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_NP","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:06:01.964Z","modified":"2022-08-03T05:08:16.357Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-new-patient.xml"},"tests":[]},{"_id":"cc5957bc-77d4-4911-99d8-d18f75184123","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_NLAO","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:08:47.397Z","modified":"2022-08-03T05:11:55.746Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml"},"tests":[]},{"_id":"463eb95c-5e2d-43e3-bda9-836d7cc06e65","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:12:16.016Z","modified":"2022-08-03T17:04:52.518Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-05-mme-less-than-fifty.xml"},"tests":[]},{"_id":"47f9a3cc-ccf6-4876-ba44-178e8f987884","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:12:31.133Z","modified":"2022-08-03T19:13:57.101Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-06-criteria-valid.json"},"tests":[]},{"_id":"73d7d3f9-24d3-487e-8b5d-bed37bdd3de6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_EOLE","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:12:53.983Z","modified":"2022-08-03T19:18:10.762Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-end-of-life-exclusion.xml"},"tests":[]},{"_id":"8352e380-928d-40e8-a64e-0ca09b69dddc","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_MMELT50","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:13:04.981Z","modified":"2022-08-03T19:29:08.292Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-08-mme-less-than-fifty.xml"},"tests":[]},{"_id":"de0a0c7a-890e-4b89-86b4-d500ee187e08","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:13:20.995Z","modified":"2022-08-03T21:48:38.235Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-09-false-due-to-PDMP-review-within-90-days.json"},"tests":[]},{"_id":"64777ac6-3932-4ebe-bd55-7ee50dd34ed6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:13:48.700Z","modified":"2022-08-03T22:11:24.012Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml"},"tests":[]},{"_id":"4ee9f151-77a6-4f31-9f15-19b90ef035f9","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_BWOO","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:13:59.850Z","modified":"2022-08-03T22:13:30.527Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml"},"tests":[]},{"_id":"a4097198-705f-47d0-907a-fa83d270d6f9","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T05:14:29.800Z","modified":"2022-08-03T22:26:16.772Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-12-criteria-invalid.json"},"tests":[]},{"_id":"8d431179-b014-4728-bca1-5ca120270f50","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T22:06:25.371Z","modified":"2022-08-03T22:07:11.516Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-10-end-of-life-med-exclusion.xml"},"tests":[]},{"_id":"23df7ad7-5992-4884-a03e-9aff90b67156","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"LOAD_PATIENT_DATA_RECOMMENDATION_OWB","url":"{{fhirServer}}","method":"POST","sortNum":30000,"created":"2022-08-03T22:17:01.291Z","modified":"2022-08-03T22:17:13.277Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-with-benzo.xml"},"tests":[]},{"_id":"881d563a-b534-4835-a1b2-e8cb442c401c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"REQUEST_RETURN_NO_RECOMMENDATION_NP","url":"{{cdsHooksServer}}/opioidcds-04","method":"POST","sortNum":35000,"created":"2022-08-03T23:12:29.459Z","modified":"2022-08-03T23:16:19.597Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-new-patient.json"},"tests":[]},{"_id":"9e4ebfde-7dd1-4966-b936-233ca1757d8b","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"REQUEST_RETURN_NO_RECOMMENDATION_NLAO","url":"{{cdsHooksServer}}/opioidcds-04-patient-view","method":"POST","sortNum":35000,"created":"2022-08-03T23:20:10.630Z","modified":"2022-08-03T23:20:38.484Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-not-long-acting-opioid.json"},"tests":[]},{"_id":"046d7be4-158e-4bc6-a9f1-b863d4f0d386","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_NO_RECOMMENDATION_EOLE","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":35000,"created":"2022-08-03T23:34:42.537Z","modified":"2022-08-03T23:37:33.424Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json"},"tests":[]},{"_id":"ae380588-b951-4814-a246-9aa1bc98336c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REQUEST_RETURN_NO_RECOMMENDATION_MMELT50","url":"{{cdsHooksServer}}/opioidcds-08","method":"POST","sortNum":35000,"created":"2022-08-03T23:43:48.837Z","modified":"2022-08-03T23:44:27.314Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-less-than-fifty.json"},"tests":[]},{"_id":"ac7a986d-eaf8-4998-8a8c-fe36421a83a6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"REQUEST_RETURN_NO_RECOMMENDATION_BWOO","url":"{{cdsHooksServer}}/opioidcds-11","method":"POST","sortNum":35000,"created":"2022-08-04T00:01:31.232Z","modified":"2022-08-04T00:05:01.728Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json"},"tests":[]},{"_id":"14ab320b-6cca-4705-88ba-18758482f08f","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"REQUEST_RETURN_RECOMMENDATION_OWB","url":"{{cdsHooksServer}}/opioidcds-11-patient-view","method":"POST","sortNum":35000,"created":"2022-08-04T00:07:10.227Z","modified":"2022-08-04T00:07:50.040Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-with-benzo.json"},"tests":[]},{"_id":"914cdae9-dc6b-4132-beeb-a9650cbb716a","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"78506135-5eff-46e1-9b49-4b03f05f20a0","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-01","method":"POST","sortNum":40000,"created":"2022-08-02T05:04:55.786Z","modified":"2022-08-03T05:04:05.591Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json"},"tests":[]},{"_id":"6ddd9979-e841-4dc8-a38d-9edde877fd16","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T03:07:04.902Z","modified":"2022-08-03T03:08:42.883Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-02-false-due-to-careplan-within-90-days.json"},"tests":[]},{"_id":"3acec50e-7de0-4ea6-9622-a8109af77695","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T04:53:48.243Z","modified":"2022-08-03T05:01:03.423Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-03-false-due-to-discussion-within-90-days.json"},"tests":[]},{"_id":"6454a378-2c48-44d5-bf31-85284380cf6d","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_NLAO","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T16:44:47.704Z","modified":"2022-08-03T16:46:01.769Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-not-long-acting-opioid.xml"},"tests":[]},{"_id":"410536e8-f1ad-467e-b667-4bac2fc46741","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWAP","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T16:51:58.377Z","modified":"2022-08-03T16:52:02.229Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml"},"tests":[]},{"_id":"483d84ec-0760-4050-9589-f47c34d39282","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_RA","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T19:18:25.785Z","modified":"2022-08-03T19:18:51.684Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-risk-assessment.xml"},"tests":[]},{"_id":"ac252245-3799-465d-895e-9d46f108ccc3","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_ONNALOX","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T19:31:47.840Z","modified":"2022-08-03T19:32:19.839Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-08-on-naloxone.xml"},"tests":[]},{"_id":"c47d88eb-8874-4d31-b28f-75d7e09e8ebd","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWOB","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T22:14:27.041Z","modified":"2022-08-03T22:14:52.291Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml"},"tests":[]},{"_id":"e19a771e-5f77-4032-b791-ac744da6438c","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_BWOO","url":"{{fhirServer}}","method":"POST","sortNum":40000,"created":"2022-08-03T22:17:03.541Z","modified":"2022-08-03T22:17:16.043Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-benzo-trigger-without-opioid.xml"},"tests":[]},{"_id":"80fc4e3e-59d9-4462-9766-3ea1eb603146","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"857f936a-00de-4e0c-bc8c-7b409b7dd747","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-05","method":"POST","sortNum":40000,"created":"2022-08-03T23:28:14.955Z","modified":"2022-08-03T23:29:13.121Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json"},"tests":[]},{"_id":"ee18b094-fa14-4572-8a3e-8d4ecd0fddd0","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"73af93ee-b257-4624-97e5-937c7c5e4728","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-06","method":"POST","sortNum":40000,"created":"2022-08-03T23:31:17.938Z","modified":"2022-08-03T23:32:43.290Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json"},"tests":[]},{"_id":"02217edb-aa8d-4fc6-8ce4-39ed4c7b6808","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"376da9cb-a03d-478f-9377-4517c34f8fe0","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-09","method":"POST","sortNum":40000,"created":"2022-08-03T23:49:55.770Z","modified":"2022-08-03T23:51:05.766Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC09/request-example-rec-09-out-PDMP-review-90-days.json"},"tests":[]},{"_id":"73ecbb27-ca46-462c-986e-3d769613b7d0","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"0a027e0a-bf6e-45f0-8ad3-edb207d11ba8","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-10","method":"POST","sortNum":40000,"created":"2022-08-03T23:53:07.704Z","modified":"2022-08-03T23:56:27.083Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC10/request-example-rec-10-end-of-life-med-exclusion.json"},"tests":[]},{"_id":"8cc586ec-6fe0-49b3-a9f3-2b3667afb79b","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"ec6571ca-5a28-461c-b730-73d775c0c5b6","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-10-patient-view","method":"POST","sortNum":40000,"created":"2022-08-03T23:57:06.667Z","modified":"2022-08-03T23:58:16.514Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC10PatientView/request-example-rec-10-patient-view-end-of-life-med-exclusion.json"},"tests":[]},{"_id":"1ee547cb-9b16-4861-b255-b1ef815cc592","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8f3e573b-fefd-4229-a843-9e3a78acf996","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-12","method":"POST","sortNum":40000,"created":"2022-08-04T00:10:03.363Z","modified":"2022-08-04T00:11:14.862Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC12PatientView/request-example-rec-12-patient-view-out-opioid-misuse.json"},"tests":[]},{"_id":"77bc167c-159c-4c0d-8e03-3d6a3e4b49f6","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"REQUEST_RETURN_NO_RECOMMENDATION_NLAO","url":"{{cdsHooksServer}}/opioidcds-04","method":"POST","sortNum":45000,"created":"2022-08-03T23:12:53.062Z","modified":"2022-08-03T23:16:35.177Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json"},"tests":[]},{"_id":"7c840898-29bf-4931-b307-3cdbed4437cc","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_NO_RECOMMENDATION_RA","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":45000,"created":"2022-08-03T23:37:38.804Z","modified":"2022-08-03T23:38:33.424Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json"},"tests":[]},{"_id":"22a21835-d326-4afe-9082-aa52021f0760","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"REQUEST_RETURN_NO_RECOMMENDATION_BWOO","url":"{{cdsHooksServer}}/opioidcds-11-patient-view","method":"POST","sortNum":45000,"created":"2022-08-04T00:08:05.098Z","modified":"2022-08-04T00:08:41.629Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-benzo-trigger-without-opioid.json"},"tests":[]},{"_id":"237e4de3-1e8c-4048-beb3-9bc7e4c9d368","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"1b360e1e-4036-46ab-981d-7d8f31eb5e86","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-02","method":"POST","sortNum":50000,"created":"2022-08-03T03:07:14.251Z","modified":"2022-08-03T05:03:45.479Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json"},"tests":[]},{"_id":"06565e23-3b0a-49c1-bb39-930f5bb5ecb2","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"8d27c9d4-7a2c-4365-9f84-bbfda0edabeb","name":"REQUEST_RETURN_NO_RECOMMENDATION","url":"{{cdsHooksServer}}/opioidcds-03","method":"POST","sortNum":50000,"created":"2022-08-03T04:53:54.506Z","modified":"2022-08-03T05:03:34.874Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json"},"tests":[]},{"_id":"ea5b9316-faf8-4a21-a1e7-3481f6adc179","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWAP","url":"{{fhirServer}}","method":"POST","sortNum":50000,"created":"2022-08-03T16:49:05.160Z","modified":"2022-08-03T16:49:56.398Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-04-opioid-with-abuse-potential.xml"},"tests":[]},{"_id":"39c4baa8-b287-448b-aae5-888a25a1eda8","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_6OF10","url":"{{fhirServer}}","method":"POST","sortNum":50000,"created":"2022-08-03T19:19:38.244Z","modified":"2022-08-03T19:20:19.714Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-six-of-past-ten-days.xml"},"tests":[]},{"_id":"c6b4a454-c4fa-4dae-9d27-3b1cdfafd7b5","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_OWOB","url":"{{fhirServer}}","method":"POST","sortNum":50000,"created":"2022-08-03T22:17:05.941Z","modified":"2022-08-03T22:17:21.908Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-11-opioid-trigger-without-benzo.xml"},"tests":[]},{"_id":"0964de8d-6a9f-46c2-9152-eda2decffd69","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"642681f0-45c4-4052-bc0c-a7f0ad08133e","name":"REQUEST_RETURN_NO_RECOMMENDATION_OWAP","url":"{{cdsHooksServer}}/opioidcds-04-patient-view","method":"POST","sortNum":50000,"created":"2022-08-03T23:25:31.650Z","modified":"2022-08-03T23:26:12.282Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04PatientView/request-example-rec-04-patient-view-opioid-with-abuse-potential.json"},"tests":[]},{"_id":"b98daac0-e2a9-4dac-88a4-38ebd2255663","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"5bf6aeac-5a49-42b1-adf9-a8169043fbc8","name":"REQUEST_RETURN_NO_RECOMMENDATION_ONNALOX","url":"{{cdsHooksServer}}/opioidcds-08","method":"POST","sortNum":50000,"created":"2022-08-03T23:44:30.854Z","modified":"2022-08-03T23:44:59.458Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-on-naloxone.json"},"tests":[]},{"_id":"81df4252-b5b7-4848-862c-21363722ca2d","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"53666ea1-bbf4-4fc1-96ce-ae89abe195c6","name":"REQUEST_RETURN_NO_RECOMMENDATION_OWOB","url":"{{cdsHooksServer}}/opioidcds-11","method":"POST","sortNum":50000,"created":"2022-08-04T00:02:09.665Z","modified":"2022-08-04T00:02:37.498Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json"},"tests":[]},{"_id":"900e54a9-9717-4e14-8715-5b7b5b830c37","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_NO_RECOMMENDATION_6OF10","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":55000,"created":"2022-08-03T23:38:01.471Z","modified":"2022-08-03T23:39:06.901Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json"},"tests":[]},{"_id":"3d7626ee-c21a-485f-a07c-55ebfdf88c05","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"LOAD_PATIENT_DATA_NO_RECOMMENDATION_62OF90","url":"{{fhirServer}}","method":"POST","sortNum":60000,"created":"2022-08-03T19:22:13.320Z","modified":"2022-08-03T19:22:36.691Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/examples/bundle-example-rec-07-sixtytwo-of-past-ninety-days.xml"},"tests":[]},{"_id":"c0597fdc-9a7c-45fa-b35c-46a7008f0136","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"e4228460-e72b-49fe-8463-e67d68d7df22","name":"REQUEST_RETURN_NO_RECOMMENDATION_OWAP","url":"{{cdsHooksServer}}/opioidcds-04","method":"POST","sortNum":60000,"created":"2022-08-03T23:13:10.829Z","modified":"2022-08-03T23:17:11.566Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-opioid-with-abuse-potential.json"},"tests":[]},{"_id":"22050e8e-f7a5-4b3d-befa-b459a3ab459e","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3592d4a4-14f6-4ded-aec3-c88b0f8faa34","name":"REQUEST_RETURN_NO_RECOMMENDATION_OWOB","url":"{{cdsHooksServer}}/opioidcds-11-patient-view","method":"POST","sortNum":60000,"created":"2022-08-04T00:08:46.144Z","modified":"2022-08-04T00:09:10.975Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC11PatientView/request-example-rec-11-patient-view-opioid-trigger-without-benzo.json"},"tests":[]},{"_id":"4685e31e-12c0-49a8-b726-636a29d3a24d","colId":"bea297d6-2783-4580-bd47-fff65912d708","containerId":"3209b60e-556a-49ca-9a29-a2d11df65d54","name":"REQUEST_RETURN_NO_RECOMMENDATION_62OF90","url":"{{cdsHooksServer}}/opioidcds-07","method":"POST","sortNum":70000,"created":"2022-08-03T23:39:10.936Z","modified":"2022-08-03T23:39:40.188Z","headers":[],"params":[],"body":{"type":"binary","raw":"","form":[],"binary":"{{igBase}}/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json"},"tests":[]}]} From d6e7eca74d4623c1a620db205a3fb53dc2a5dff1 Mon Sep 17 00:00:00 2001 From: c-schuler Date: Mon, 22 Aug 2022 12:10:31 -0600 Subject: [PATCH 24/24] Refreshed test data ... updated date roller frequencies --- ...t-example-rec-01-in-outpatient-opioid.json | 8 ++--- ...t-example-rec-01-out-inpatient-opioid.json | 8 ++--- ...-example-rec-02-in-careplan-revisited.json | 12 ++++---- ...ple-rec-02-out-careplan-not-revisited.json | 8 ++--- ...ec-03-in-no-counseling-within-90-days.json | 4 +-- ...-rec-03-out-counseling-within-90-days.json | 10 +++---- ...est-example-rec-04-long-acting-opioid.json | 8 ++--- ...example-rec-04-not-long-acting-opioid.json | 8 ++--- ...rec-04-preexisting-long-acting-opioid.json | 8 ++--- ...example-rec-05-mme-greater-than-fifty.json | 12 ++++---- ...st-example-rec-05-mme-less-than-fifty.json | 8 ++--- ...equest-example-rec-06-in-criteria-met.json | 8 ++--- ...-example-rec-07-end-of-life-exclusion.json | 8 ++--- ...equest-example-rec-07-risk-assessment.json | 8 ++--- ...example-rec-07-seven-of-past-ten-days.json | 30 +++++++++---------- ...t-example-rec-07-six-of-past-ten-days.json | 8 ++--- ...rec-07-sixtythree-of-past-ninety-days.json | 8 ++--- ...e-rec-07-sixtytwo-of-past-ninety-days.json | 8 ++--- ...example-rec-08-mme-greater-than-fifty.json | 8 ++--- ...st-example-rec-08-mme-less-than-fifty.json | 8 ++--- ...uest-example-rec-08-on-benzodiazepine.json | 8 ++--- .../request-example-rec-08-on-naloxone.json | 8 ++--- ...equest-example-rec-08-substance-abuse.json | 8 ++--- ...ample-rec-08-order-sign-mme-doseRange.json | 4 ++- ...ample-rec-10-order-sign-illicit-drugs.json | 8 ++--- ...ample-rec-10-order-sign-no-screenings.json | 8 ++--- ...mple-rec-11-benzo-trigger-with-opioid.json | 8 ++--- ...e-rec-11-benzo-trigger-without-opioid.json | 8 ++--- ...mple-rec-11-opioid-trigger-with-benzo.json | 8 ++--- ...e-rec-11-opioid-trigger-without-benzo.json | 8 ++--- 30 files changed, 133 insertions(+), 131 deletions(-) diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json index 9fb49dca..befdf58d 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-in-outpatient-opioid.json @@ -19,7 +19,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-01-in-outpatient-opioid-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -84,8 +84,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json index 79b9a822..561c9e9c 100755 --- a/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC01/request-example-rec-01-out-inpatient-opioid.json @@ -19,7 +19,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-01-in-inpatient-opioid-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -76,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json index d5596335..87c8f84e 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-in-careplan-revisited.json @@ -19,7 +19,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-02-careplan-revisited-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "recorder": { "reference": "Practitioner/example" }, @@ -79,8 +79,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -142,7 +142,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -172,7 +172,7 @@ "subject": { "reference": "Patient/example-rec-02-careplan-revisited" }, - "created": "2022-05-22", + "created": "2022-06-23", "author": { "reference": "Practitioner/example" } diff --git a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json index 0bc2ddce..dc96b264 100755 --- a/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json +++ b/input/pagecontent/requests/OpioidCDSREC02/request-example-rec-02-out-careplan-not-revisited.json @@ -19,7 +19,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-02-careplan-not-revisited-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "recorder": { "reference": "Practitioner/example" }, @@ -79,8 +79,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json index e7585345..b7d02391 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-in-no-counseling-within-90-days.json @@ -19,7 +19,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-03-true-make-recommendations-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { diff --git a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json index 94539f98..798e2cbf 100755 --- a/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json +++ b/input/pagecontent/requests/OpioidCDSREC03/request-example-rec-03-out-counseling-within-90-days.json @@ -19,7 +19,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-03-false-no-recommendations-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -132,7 +132,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -160,8 +160,8 @@ "reference": "Patient/example-rec-03-false-no-recommendations" }, "performedPeriod": { - "start": "2022-05-22", - "end": "2022-05-22" + "start": "2022-06-23", + "end": "2022-06-23" } } }, diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json index a8cb48bf..d92827f7 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-long-acting-opioid.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-04-long-acting-opioid-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -86,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json index 55cca63c..ec85e0e1 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-not-long-acting-opioid.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-04-not-long-acting-opioid-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -86,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-preexisting-long-acting-opioid.json b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-preexisting-long-acting-opioid.json index fd6ae720..f46948ef 100644 --- a/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-preexisting-long-acting-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC04/request-example-rec-04-preexisting-long-acting-opioid.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-04-preexisting-long-acting-opioid-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -86,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json index 8095c5aa..229d5329 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-greater-than-fifty.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-05-mme-greater-than-fifty-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -76,8 +76,8 @@ { "doseQuantity": { "value": 1.0, - "system": "http://unitsofmeasure.org", - "unit": "PATCH" + "unit": "PATCH", + "system": "http://unitsofmeasure.org" } } ] @@ -85,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2023-02-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2023-02-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json index 34924948..795d341c 100644 --- a/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC05/request-example-rec-05-mme-less-than-fifty.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-05-mme-less-than-fifty-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -86,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2023-02-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2023-02-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json index 9780c0bf..1e8d406e 100755 --- a/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json +++ b/input/pagecontent/requests/OpioidCDSREC06/request-example-rec-06-in-criteria-met.json @@ -19,7 +19,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-06-in-criteria-met-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -76,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json index ee5c72c3..25eeecd8 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-end-of-life-exclusion.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-07-end-of-life-exclusion-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -76,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json index c5d15fac..570d6b05 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-risk-assessment.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-07-risk-assessment-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -76,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json index 891ccf3f..e585474f 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-seven-of-past-ten-days.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-07-seven-of-past-ten-days-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -76,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -106,12 +106,12 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -144,7 +144,7 @@ "subject": { "reference": "Patient/example-rec-07-seven-of-past-ten-days" }, - "authoredOn": "2022-08-10", + "authoredOn": "2022-08-14", "dosageInstruction": [ { "timing": { @@ -159,8 +159,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-10", - "end": "2022-08-18" + "start": "2022-08-14", + "end": "2022-08-22" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { @@ -172,24 +172,25 @@ } } }, - "item2": { + "item2": { "response": { "status": "200 OK" }, "resource": { "resourceType": "Encounter", + "id": "example-rec-07-seven-of-past-ten-days-prefetch", "extension": [ { "url": "http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/dataDateRoller", "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", "valueDuration": { - "value": 30.0, + "value": 1.0, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" @@ -198,7 +199,6 @@ ] } ], - "id": "example-rec-07-seven-of-past-ten-days-prefetch", "status": "finished", "type": [ { @@ -215,8 +215,8 @@ "reference": "Patient/example-rec-07-seven-of-past-ten-days" }, "period": { - "start" :"2022-08-08", - "end": "2022-08-08" + "start": "2022-08-12", + "end": "2022-08-12" } } }, diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json index 6d72a795..84ccf969 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-six-of-past-ten-days.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-07-six-of-past-ten-days-context" }, - "authoredOn": "2022-08-03", + "authoredOn": "2022-08-07", "dosageInstruction": [ { "timing": { @@ -76,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json index 9d869bba..7a54b95d 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtythree-of-past-ninety-days.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-07-sixtythree-of-past-ninety-days-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -76,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json index 78e985cf..944a82a6 100644 --- a/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json +++ b/input/pagecontent/requests/OpioidCDSREC07/request-example-rec-07-sixtytwo-of-past-ninety-days.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-07-sixtytwo-of-past-ninety-days-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -76,8 +76,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 1, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json index b1470062..bbbfa5fb 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-greater-than-fifty.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-08-mme-greater-than-fifty-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -85,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "quantity": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json index ad4847ae..23c1267f 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-mme-less-than-fifty.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-08-mme-less-than-fifty-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -85,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json index e6b7aeda..b117e5b6 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-benzodiazepine.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-08-on-benzodiazepine-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -85,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json index aa258a08..7162172d 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-on-naloxone.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-08-on-naloxone-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -85,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json index 17432233..225b1007 100644 --- a/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json +++ b/input/pagecontent/requests/OpioidCDSREC08/request-example-rec-08-substance-abuse.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-08-substance-abuse-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -85,8 +85,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json index 85a4c101..80ec8090 100644 --- a/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json +++ b/input/pagecontent/requests/OpioidCDSREC08OrderSign/request-example-rec-08-order-sign-mme-doseRange.json @@ -171,7 +171,9 @@ }, "item2": null, "item3": { - "response": null, + "response": { + "status": "200 OK" + }, "resource": { "resourceType": "Condition", "id": "example-rec-08-order-sign", diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs.json index d0e1cecf..169d0dda 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-illicit-drugs.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-10-illicit-drugs-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -86,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json index 49aef4f7..db07b9a7 100644 --- a/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json +++ b/input/pagecontent/requests/OpioidCDSREC10OrderSign/request-example-rec-10-order-sign-no-screenings.json @@ -20,7 +20,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -61,7 +61,7 @@ "encounter": { "reference": "Encounter/example-rec-10-order-sign-no-screenings-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -86,8 +86,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json index afdc2d4e..c30fe2f7 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-with-opioid.json @@ -23,7 +23,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -64,7 +64,7 @@ "encounter": { "reference": "Encounter/example-rec-11-benzo-trigger-with-opioid-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -89,8 +89,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json index 4e06eeb2..cb458ab2 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-benzo-trigger-without-opioid.json @@ -23,7 +23,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -64,7 +64,7 @@ "encounter": { "reference": "Encounter/example-rec-11-benzo-trigger-without-opioid-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -89,8 +89,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json index 072fc3bc..b2916943 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-with-benzo.json @@ -23,7 +23,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -64,7 +64,7 @@ "encounter": { "reference": "Encounter/example-rec-11-opioid-trigger-with-benzo-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -89,8 +89,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": { diff --git a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json index 7968186d..f3f83cc3 100644 --- a/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json +++ b/input/pagecontent/requests/OpioidCDSREC11/request-example-rec-11-opioid-trigger-without-benzo.json @@ -23,7 +23,7 @@ "extension": [ { "url": "dateLastUpdated", - "valueDateTime": "2022-08-18" + "valueDateTime": "2022-08-22" }, { "url": "frequency", @@ -64,7 +64,7 @@ "encounter": { "reference": "Encounter/example-rec-11-opioid-trigger-without-benzo-context" }, - "authoredOn": "2022-08-18", + "authoredOn": "2022-08-22", "dosageInstruction": [ { "timing": { @@ -89,8 +89,8 @@ ], "dispenseRequest": { "validityPeriod": { - "start": "2022-08-18", - "end": "2022-11-18" + "start": "2022-08-22T00:00:00-06:00", + "end": "2022-11-22T00:00:00-07:00" }, "numberOfRepeatsAllowed": 3, "expectedSupplyDuration": {
BundleCDS Hooks RequestExpected ResponseCDS Hooks RequestExpected Response
Test Bundle example-rec-01-true-make-recommendations Request JSON example-rec-01-in-outpatient-opioid Response JSON example-rec-01-in-outpatient-opioid
Test Bundle example-rec-01-false-due-to-inpatient-opioid Request JSON example-rec-01-out-inpatient-opioid Response JSON example-rec-01-out-inpatient-opioid
Test Bundle example-rec-02-true-make-recommendations Request JSON example-rec-02-in-careplan-revisited Response JSON example-rec-02-in-careplan-revisited
Test Bundle example-rec-02-false-due-to-careplan-within-90-days Request JSON example-rec-02-out-careplan-not-revisited Response JSON example-rec-02-out-careplan-not-revisited
Test Bundle example-rec-03-true-make-recommendations Request JSON example-rec-03-in-no-counseling-within-90-days Response JSON example-rec-03-in-no-counseling-within-90-days
Test Bundle example-rec-03-false-due-to-discussion-within-90-days Request JSON example-rec-03-out-counseling-within-90-days Response JSON example-rec-03-out-counseling-within-90-days
Test Bundle example-rec-04-long-acting-opioid Request JSON example-rec-04-long-acting-opioid Response JSON example-rec-04-long-acting-opioid
Test Bundle example-rec-04-new-patientRequest JSON example-rec-04-new-patientResponse JSON example-rec-04-new-patient
Test Bundle example-rec-04-not-long-acting-opioid Request JSON example-rec-04-not-long-acting-opioid Response JSON example-rec-04-not-long-acting-opioid
Test Bundle example-rec-04-opioid-with-abuse-potentialRequest JSON example-rec-04-opioid-with-abuse-potentialResponse JSON example-rec-04-opioid-with-abuse-potentialRequest JSON example-rec-04-preexisting-long-acting-opioidResponse JSON example-rec-04-preexisting-long-acting-opioid
Test Bundle example-rec-05-mme-greater-than-fifty Request JSON example-rec-05-mme-greater-than-fifty Response JSON example-rec-05-mme-greater-than-fifty
Test Bundle example-rec-05-mme-less-than-fifty Request JSON example-rec-05-mme-less-than-fifty Response JSON example-rec-05-mme-less-than-fifty
Test Bundle example-rec-06-criteria-valid Request JSON example-rec-06-in-criteria-met Response JSON example-rec-06-in-criteria-met
Test Bundle example-rec-06-with-extended-release-for-27-days Request JSON example-rec-06-out-extended-release-27-days Response JSON example-rec-06-out-extended-release-27-days
Test Bundle example-rec-07-end-of-life-exclusion Request JSON example-rec-07-end-of-life-exclusion Response JSON example-rec-07-end-of-life-exclusion
Test Bundle example-rec-07-risk-assessment Request JSON example-rec-07-risk-assessment Response JSON example-rec-07-risk-assessment
Test Bundle example-rec-07-seven-of-past-ten-days Request JSON example-rec-07-seven-of-past-ten-days Response JSON example-rec-07-seven-of-past-ten-days
Test Bundle example-rec-07-six-of-past-ten-days Request JSON example-rec-07-six-of-past-ten-days Response JSON example-rec-07-six-of-past-ten-days
Test Bundle example-rec-07-sixtythree-of-past-ninety-days Request JSON example-rec-07-sixtythree-of-past-ninety-days Response JSON example-rec-07-sixtythree-of-past-ninety-days
Test Bundle example-rec-07-sixtytwo-of-past-ninety-days Request JSON example-rec-07-sixtytwo-of-past-ninety-days Response JSON example-rec-07-sixtytwo-of-past-ninety-days
Test Bundle example-rec-08-mme-greater-than-fifty Request JSON example-rec-08-mme-greater-than-fifty Response JSON example-rec-08-mme-greater-than-fifty
Test Bundle example-rec-08-mme-less-than-fifty Request JSON example-rec-08-mme-less-than-fifty Response JSON example-rec-08-mme-less-than-fifty
Test Bundle example-rec-08-on-benzodiazepine Request JSON example-rec-08-on-benzodiazepine Response JSON example-rec-08-on-benzodiazepine
Test Bundle example-rec-08-on-naloxone Request JSON example-rec-08-on-naloxone Response JSON example-rec-08-on-naloxone
Test Bundle example-rec-08-substance-abuse Request JSON example-rec-08-substance-abuse Response JSON example-rec-08-substance-abuse
Test Bundle example-rec-09-true-return-recommendations Request JSON example-rec-09-in-criteria-met Response JSON example-rec-09-in-criteria-met
Test Bundle example-rec-09-false-due-to-PDMP-review-within-90-days Request JSON example-rec-09-out-PDMP-review-90-days Response JSON example-rec-09-out-PDMP-review-90-days
Test Bundle example-rec-10-end-of-life-med-exclusion Request JSON example-rec-10-end-of-life-med-exclusion Response JSON example-rec-10-end-of-life-med-exclusion
Test Bundle example-rec-10-illicit-drugsRequest JSON example-rec-10-2-illicit-drugsRequest JSON example-rec-10-2-illicit-drugs Response JSON example-rec-10-illicit-drugs
Test Bundle example-rec-10-no-screenings Request JSON example-rec-10-no-screenings Response JSON example-rec-10-no-screenings
Test Bundle example-rec-11-benzo-trigger-with-opioid Request JSON example-rec-11-benzo-trigger-with-opioid Response JSON example-rec-11-benzo-trigger-with-opioid
Test Bundle example-rec-11-benzo-trigger-without-opioid Request JSON example-rec-11-benzo-trigger-without-opioid Response JSON example-rec-11-benzo-trigger-without-opioid
Test Bundle example-rec-11-opioid-trigger-with-benzo Request JSON example-rec-11-opioid-trigger-with-benzo Response JSON example-rec-11-opioid-trigger-with-benzo
Test Bundle example-rec-11-opioid-trigger-without-benzo Request JSON example-rec-11-opioid-trigger-without-benzo Response JSON example-rec-11-opioid-trigger-without-benzo
Test Bundle example-rec-12-criteria-valid Request JSON example-rec-12-in-criteria-met Response JSON example-rec-12-in-criteria-met
Test Bundle example-rec-12-criteria-invalid Request JSON example-rec-12-out-opioid-misuse Response JSON example-rec-12-out-opioid-misuse