-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathlibrary-EXM153-9.2.000.json
More file actions
25 lines (25 loc) · 15.9 KB
/
Copy pathlibrary-EXM153-9.2.000.json
File metadata and controls
25 lines (25 loc) · 15.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"resourceType": "Library",
"id": "library-EXM153-9.2.000",
"extension": [ {
"url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem",
"valueReference": {
"reference": "#cqf-tooling"
}
} ],
"url": "http://fhir.org/guides/dbcg/connectathon/Library/EXM153",
"version": "9.2.000",
"name": "EXM153",
"status": "active",
"experimental": true,
"type": {
"coding": [ {
"system": "http://terminology.hl7.org/CodeSystem/library-type",
"code": "logic-library"
} ]
},
"content": [ {
"contentType": "text/cql",
"data": "bGlicmFyeSBFWE0xNTMgdmVyc2lvbiAnOS4yLjAwMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBIb3NwaWNlIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBIb3NwaWNlCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zIHZlcnNpb24gJzUuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHMgdmVyc2lvbiAnMi4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUOjIwMTctMDkiOidodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAndXJuOmhsNzp2ZXJzaW9uOjIwMTYtMDknCmNvZGVzeXN0ZW0gIlNOT01FRENUIjonaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIkxPSU5DIjonaHR0cDovL2xvaW5jLm9yZycKCnZhbHVlc2V0ICJDYXJyaWVyIG9mIFByZWRvbWluYW50bHkgU2V4dWFsbHkgVHJhbnNtaXR0ZWQgSW5mZWN0aW9uIjonaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEyLjExLjEwMjMnCnZhbHVlc2V0ICJDaGxhbXlkaWEiOidodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTIuMTIuMTAwMycKdmFsdWVzZXQgIkNobGFteWRpYSBTY3JlZW5pbmciOidodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTA1MicKdmFsdWVzZXQgIkNvbXBsaWNhdGlvbnMgb2YgUHJlZ25hbmN5LCBDaGlsZGJpcnRoIGFuZCB0aGUgUHVlcnBlcml1bSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTEuMTIuMTAxMicKdmFsdWVzZXQgIkNvbnRyYWNlcHRpdmUgTWVkaWNhdGlvbnMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk2LjEyLjEwODAnCnZhbHVlc2V0ICJEZWxpdmVyeSBMaXZlIEJpcnRocyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTEuMTIuMTAxNScKdmFsdWVzZXQgIkRpYWdub3N0aWMgU3R1ZGllcyBEdXJpbmcgUHJlZ25hbmN5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMS4xMi4xMDA4JwovL3ZhbHVlc2V0ICJFdGhuaWNpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3Jwp2YWx1ZXNldCAiRmVtYWxlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjU2MC4xMDAuMicKdmFsdWVzZXQgIkdlbml0YWwgSGVycGVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDQ5Jwp2YWx1ZXNldCAiR29ub2NvY2NhbCBJbmZlY3Rpb25zIGFuZCBWZW5lcmVhbCBEaXNlYXNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTIuMTIuMTAwMScKdmFsdWVzZXQgIkhJViI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMjAuMTIuMTAwMycKdmFsdWVzZXQgIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNicKdmFsdWVzZXQgIkluZmxhbW1hdG9yeSBEaXNlYXNlcyBvZiBGZW1hbGUgUmVwcm9kdWN0aXZlIE9yZ2FucyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTIuMTIuMTAwNCcKdmFsdWVzZXQgIklzb3RyZXRpbm9pbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTE0MycKdmFsdWVzZXQgIkxhYiBUZXN0cyBEdXJpbmcgUHJlZ25hbmN5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMS4xMi4xMDA3Jwp2YWx1ZXNldCAiTGFiIFRlc3RzIGZvciBTZXh1YWxseSBUcmFuc21pdHRlZCBJbmZlY3Rpb25zIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDUxJwp2YWx1ZXNldCAiT2ZmaWNlIFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDAxJwp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJPdGhlciBGZW1hbGUgUmVwcm9kdWN0aXZlIENvbmRpdGlvbnMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTExLjEyLjEwMDYnCnZhbHVlc2V0ICJQYXAgVGVzdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAxNycKLy92YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlByZWduYW5jeSBUZXN0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMS4xMi4xMDExJwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI0Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjUnCnZhbHVlc2V0ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMycKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZS0gSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjInCnZhbHVlc2V0ICJQcm9jZWR1cmVzIER1cmluZyBQcmVnbmFuY3kiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTExLjEyLjEwMDknCnZhbHVlc2V0ICJQcm9jZWR1cmVzIEludm9sdmluZyBDb250cmFjZXB0aXZlIERldmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTExLjEyLjEwMTAnCi8vdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiU2V4dWFsbHkgQWN0aXZlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEyMS4xMi4xMDQwJwp2YWx1ZXNldCAiU3lwaGlsaXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEyLjEyLjEwMDInCnZhbHVlc2V0ICJYLVJheSBTdHVkeSAoYWxsIGluY2x1c2l2ZSkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMzQnCgpjb2RlICJCaXJ0aGRhdGUiOiAnMjExMTItOCcgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0JpcnRoIGRhdGUnCmNvZGUgIlllcyAocXVhbGlmaWVyIHZhbHVlKSI6ICczNzMwNjYwMDEnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdZZXMgKHF1YWxpZmllciB2YWx1ZSknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKICBTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgogIFNERS4iU0RFIFNleCIKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKKFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScKCQlhbmQgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIGluIEludGVydmFsWzE2LCAyNF0pCiAgICBhbmQgZXhpc3RzICgiUXVhbGlmeWluZyBFbmNvdW50ZXJzIikKICAgICAgICBhbmQgKGV4aXN0cyAoIkFzc2Vzc21lbnRzIElkZW50aWZ5aW5nIFNleHVhbCBBY3Rpdml0eSIpCiAgICAgICAgICAgIG9yIGV4aXN0cyAoIkRpYWdub3NlcyBJZGVudGlmeWluZyBTZXh1YWwgQWN0aXZpdHkiKQogICAgICAgICAgICAvL29yIGV4aXN0cyAoIkFjdGl2ZSBDb250cmFjZXB0aXZlIE1lZGljYXRpb25zIikKICAgICAgICAgICAgb3IgZXhpc3RzICgiT3JkZXJlZCBDb250cmFjZXB0aXZlIE1lZGljYXRpb25zIikKICAgICAgICAgICAgb3IgZXhpc3RzICgiTGFib3JhdG9yeSBUZXN0cyBJZGVudGlmeWluZyBTZXh1YWwgQWN0aXZpdHkiKQogICAgICAgICAgICBvciBleGlzdHMgKCJEaWFnbm9zdGljIFN0dWRpZXMgSWRlbnRpZnlpbmcgU2V4dWFsIEFjdGl2aXR5IikKICAgICAgICAgICAgb3IgZXhpc3RzICgiUHJvY2VkdXJlcyBJZGVudGlmeWluZyBTZXh1YWwgQWN0aXZpdHkiKSkKCmRlZmluZSAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIjoKKFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXQogICAgdW5pb24gWyJFbmNvdW50ZXIiOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQogICAgdW5pb24gWyJFbmNvdW50ZXIiOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQogICAgdW5pb24gWyJFbmNvdW50ZXIiOiAiUHJldmVudGl2ZSBDYXJlLSBJbml0aWFsIE9mZmljZSBWaXNpdCwgMCB0byAxNyJdCiAgICB1bmlvbiBbIkVuY291bnRlciI6ICJQcmV2ZW50aXZlIENhcmUgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXQogICAgdW5pb24gWyJFbmNvdW50ZXIiOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0pIFZhbGlkRW5jb3VudGVyCiAgICAJCXdoZXJlIFZhbGlkRW5jb3VudGVyLnBlcmlvZCBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgICAgICAgCQlhbmQgVmFsaWRFbmNvdW50ZXIuc3RhdHVzICA9ICdmaW5pc2hlZCcKCmRlZmluZSAiQXNzZXNzbWVudHMgSWRlbnRpZnlpbmcgU2V4dWFsIEFjdGl2aXR5IjoKWyJPYnNlcnZhdGlvbiI6ICJTZXh1YWxseSBBY3RpdmUiXSBTZXh1YWxBY3Rpdml0eUFzc2Vzc21lbnQKICB3aGVyZSBTZXh1YWxBY3Rpdml0eUFzc2Vzc21lbnQuY29kZSB+ICJZZXMgKHF1YWxpZmllciB2YWx1ZSkiCiAgICAgIGFuZCBTZXh1YWxBY3Rpdml0eUFzc2Vzc21lbnQuc3RhdHVzIGluIHsnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnLCAncHJlbGltaW5hcnknfQogICAgYW5kIGVuZCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoU2V4dWFsQWN0aXZpdHlBc3Nlc3NtZW50LmVmZmVjdGl2ZSkgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEaWFnbm9zZXMgSWRlbnRpZnlpbmcgU2V4dWFsIEFjdGl2aXR5IjoKKFsiQ29uZGl0aW9uIjogIk90aGVyIEZlbWFsZSBSZXByb2R1Y3RpdmUgQ29uZGl0aW9ucyJdCiAgICB1bmlvbiBbIkNvbmRpdGlvbiI6ICJHZW5pdGFsIEhlcnBlcyJdCiAgICB1bmlvbiBbIkNvbmRpdGlvbiI6ICJHb25vY29jY2FsIEluZmVjdGlvbnMgYW5kIFZlbmVyZWFsIERpc2Vhc2VzIl0KICAgIHVuaW9uIFsiQ29uZGl0aW9uIjogIkluZmxhbW1hdG9yeSBEaXNlYXNlcyBvZiBGZW1hbGUgUmVwcm9kdWN0aXZlIE9yZ2FucyJdCiAgICB1bmlvbiBbIkNvbmRpdGlvbiI6ICJDaGxhbXlkaWEiXQogICAgdW5pb24gWyJDb25kaXRpb24iOiAiSElWIl0KICAgIHVuaW9uIFsiQ29uZGl0aW9uIjogIlN5cGhpbGlzIl0KICAgIHVuaW9uIFsiQ29uZGl0aW9uIjogIkNhcnJpZXIgb2YgUHJlZG9taW5hbnRseSBTZXh1YWxseSBUcmFuc21pdHRlZCBJbmZlY3Rpb24iXQogICAgdW5pb24gWyJDb25kaXRpb24iOiAiQ29tcGxpY2F0aW9ucyBvZiBQcmVnbmFuY3ksIENoaWxkYmlydGggYW5kIHRoZSBQdWVycGVyaXVtIl0pIFNleHVhbEFjdGl2aXR5RGlhZ25vc2lzCiAgICB3aGVyZSBTZXh1YWxBY3Rpdml0eURpYWdub3Npcy52ZXJpZmljYXRpb25TdGF0dXMgfiBUb0NvbmNlcHQoR2xvYmFsLiJjb25maXJtZWQiKQogICAgICAgIGFuZCBHbG9iYWwuIlByZXZhbGVuY2UgUGVyaW9kIihTZXh1YWxBY3Rpdml0eURpYWdub3Npcykgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIKCi8vIE1lZGljYXRpb25TdGF0ZW1lbnQgY2hhbmdlZCB0byBNZWRpY2F0aW9uVXNhZ2UgaW4gUjUsIHNvIHRoaXMgY2Fubm90IGJlIHJlZmVyZW5jZWQgdW50aWwgYSBwdWJsaXNoZXIgaXNzdWUgaXMgYWRkcmVzc2VkCi8qCmRlZmluZSAiQWN0aXZlIENvbnRyYWNlcHRpdmUgTWVkaWNhdGlvbnMiOgpbIk1lZGljYXRpb25TdGF0ZW1lbnQiOiAiQ29udHJhY2VwdGl2ZSBNZWRpY2F0aW9ucyJdIEFjdGl2ZUNvbnRyYWNlcHRpdmVzCiAgICB3aGVyZSBBY3RpdmVDb250cmFjZXB0aXZlcy5zdGF0dXMgPSAnYWN0aXZlJwogICAgYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBY3RpdmVDb250cmFjZXB0aXZlcy5lZmZlY3RpdmUpIG92ZXJsYXBzICJNZWFzdXJlbWVudCBQZXJpb2QiCiovCgpkZWZpbmUgIk9yZGVyZWQgQ29udHJhY2VwdGl2ZSBNZWRpY2F0aW9ucyI6ClsiTWVkaWNhdGlvblJlcXVlc3QiOiAiQ29udHJhY2VwdGl2ZSBNZWRpY2F0aW9ucyJdIE9yZGVyZWRDb250cmFjZXB0aXZlcwogICAgd2hlcmUgT3JkZXJlZENvbnRyYWNlcHRpdmVzLnN0YXR1cyBpbiB7J2FjdGl2ZScsJ2NvbXBsZXRlZCd9CiAgICBhbmQgT3JkZXJlZENvbnRyYWNlcHRpdmVzLmludGVudC52YWx1ZSA9ICdvcmRlcicKICAgICAgICBhbmQgT3JkZXJlZENvbnRyYWNlcHRpdmVzLmF1dGhvcmVkT24gZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkxhYm9yYXRvcnkgVGVzdHMgSWRlbnRpZnlpbmcgU2V4dWFsIEFjdGl2aXR5IEJ1dCBOb3QgUHJlZ25hbmN5IjoKKFsiU2VydmljZVJlcXVlc3QiOiAiUGFwIFRlc3QiXQogICAgdW5pb24gWyJTZXJ2aWNlUmVxdWVzdCI6ICJMYWIgVGVzdHMgRHVyaW5nIFByZWduYW5jeSJdCiAgICB1bmlvbiBbIlNlcnZpY2VSZXF1ZXN0IjogIkxhYiBUZXN0cyBmb3IgU2V4dWFsbHkgVHJhbnNtaXR0ZWQgSW5mZWN0aW9ucyJdKSBMYWJPcmRlcnMKICAgIHdoZXJlIExhYk9yZGVycy5zdGF0dXMgaW4geydhY3RpdmUnLCAnY29tcGxldGVkJ30KICAgIGFuZCBMYWJPcmRlcnMuaW50ZW50LnZhbHVlID0gJ29yZGVyJwogICAgYW5kIExhYk9yZGVycy5hdXRob3JlZE9uIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJMYWJvcmF0b3J5IFRlc3RzIElkZW50aWZ5aW5nIFNleHVhbCBBY3Rpdml0eSI6CiggWyJTZXJ2aWNlUmVxdWVzdCI6ICJQcmVnbmFuY3kgVGVzdCJdCiAgICB1bmlvbiAiTGFib3JhdG9yeSBUZXN0cyBJZGVudGlmeWluZyBTZXh1YWwgQWN0aXZpdHkgQnV0IE5vdCBQcmVnbmFuY3kiICkgQWxsTGFiT3JkZXJzCiAgICB3aGVyZSBBbGxMYWJPcmRlcnMuc3RhdHVzIGluIHsnYWN0aXZlJywgJ2NvbXBsZXRlZCd9CiAgICBhbmQgQWxsTGFiT3JkZXJzLmludGVudC52YWx1ZSA9ICdvcmRlcicKICAgIGFuZCBBbGxMYWJPcmRlcnMuYXV0aG9yZWRPbiBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRGlhZ25vc3RpYyBTdHVkaWVzIElkZW50aWZ5aW5nIFNleHVhbCBBY3Rpdml0eSI6ClsiU2VydmljZVJlcXVlc3QiOiAiRGlhZ25vc3RpYyBTdHVkaWVzIER1cmluZyBQcmVnbmFuY3kiXSBTZXh1YWxBY3Rpdml0eURpYWdub3N0aWNzCiAgICB3aGVyZSBTZXh1YWxBY3Rpdml0eURpYWdub3N0aWNzLnN0YXR1cyBpbiB7J2FjdGl2ZScsICdjb21wbGV0ZWQnfQogICAgYW5kIFNleHVhbEFjdGl2aXR5RGlhZ25vc3RpY3MuaW50ZW50LnZhbHVlID0gJ29yZGVyJwogICAgYW5kIFNleHVhbEFjdGl2aXR5RGlhZ25vc3RpY3MuYXV0aG9yZWRPbiBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiUHJvY2VkdXJlcyBJZGVudGlmeWluZyBTZXh1YWwgQWN0aXZpdHkiOgooIFsiUHJvY2VkdXJlIjogIkRlbGl2ZXJ5IExpdmUgQmlydGhzIl0KICAgIHVuaW9uIFsiUHJvY2VkdXJlIjogIlByb2NlZHVyZXMgRHVyaW5nIFByZWduYW5jeSJdCiAgICB1bmlvbiBbIlByb2NlZHVyZSI6ICJQcm9jZWR1cmVzIEludm9sdmluZyBDb250cmFjZXB0aXZlIERldmljZXMiXSApIFByb2NlZHVyZXNGb3JTZXh1YWxBY3Rpdml0eQogICAgd2hlcmUgUHJvY2VkdXJlc0ZvclNleHVhbEFjdGl2aXR5LnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFByb2NlZHVyZXNGb3JTZXh1YWxBY3Rpdml0eS5wZXJmb3JtZWQpIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CiJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2x1c2lvbnMiOgooZXhpc3RzICgiUHJlZ25hbmN5IFRlc3QgRXhjbHVzaW9uIikKICAgICAgYW5kIG5vdCBleGlzdHMgKCJEaWFnbm9zZXMgSWRlbnRpZnlpbmcgU2V4dWFsIEFjdGl2aXR5IikKICAgICAgLy9hbmQgbm90IGV4aXN0cyAoIkFjdGl2ZSBDb250cmFjZXB0aXZlIE1lZGljYXRpb25zIikKICAgICAgYW5kIG5vdCBleGlzdHMgKCJMYWJvcmF0b3J5IFRlc3RzIElkZW50aWZ5aW5nIFNleHVhbCBBY3Rpdml0eSBCdXQgTm90IFByZWduYW5jeSIpCiAgICAgIGFuZCBub3QgZXhpc3RzICgiUHJvY2VkdXJlcyBJZGVudGlmeWluZyBTZXh1YWwgQWN0aXZpdHkiKQogICAgICBhbmQgbm90IGV4aXN0cyAoIkFzc2Vzc21lbnRzIElkZW50aWZ5aW5nIFNleHVhbCBBY3Rpdml0eSIpCiAgICAgIGFuZCBub3QgZXhpc3RzICgiT3JkZXJlZCBDb250cmFjZXB0aXZlIE1lZGljYXRpb25zIikKICAgICAgYW5kIG5vdCBleGlzdHMgKCJEaWFnbm9zdGljIFN0dWRpZXMgSWRlbnRpZnlpbmcgU2V4dWFsIEFjdGl2aXR5IikpCiAgICAgIG9yIEhvc3BpY2UuIkhhcyBIb3NwaWNlIgoKCmRlZmluZSAiUHJlZ25hbmN5IFRlc3QgRXhjbHVzaW9uIjoKKCBbIlNlcnZpY2VSZXF1ZXN0IjogIlByZWduYW5jeSBUZXN0Il0gUHJlZ25hbmN5VGVzdAogICAgIHdpdGggWyJTZXJ2aWNlUmVxdWVzdCI6ICJYLVJheSBTdHVkeSAoYWxsIGluY2x1c2l2ZSkiXSBYcmF5T3JkZXIKICAgICAgICAgICBzdWNoIHRoYXQgWHJheU9yZGVyLmF1dGhvcmVkT24gb2NjdXJzIDcgZGF5cyBvciBsZXNzIG9uIG9yIGFmdGVyIGRheSBvZiBQcmVnbmFuY3lUZXN0LmF1dGhvcmVkT24KICAgICAgICAgICBhbmQgWHJheU9yZGVyLnN0YXR1cyBpbiB7J2FjdGl2ZScsJ2NvbXBsZXRlZCd9CiAgICAgICAgICAgYW5kIFhyYXlPcmRlci5pbnRlbnQgPSAnb3JkZXInCiAgICAgICAgICAgYW5kIFByZWduYW5jeVRlc3Quc3RhdHVzIGluIHsnYWN0aXZlJywnY29tcGxldGVkJ30KICAgICAgICAgICBhbmQgUHJlZ25hbmN5VGVzdC5pbnRlbnQgPSAnb3JkZXInCiAgICAgICAgICAgYW5kIFByZWduYW5jeVRlc3QuYXV0aG9yZWRPbiBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCiApCiAgIHVuaW9uICggWyJTZXJ2aWNlUmVxdWVzdCI6ICJQcmVnbmFuY3kgVGVzdCJdIFByZWduYW5jeVRlc3RPcmRlcgogICAgICAgd2l0aCBbIk1lZGljYXRpb25SZXF1ZXN0IjogIklzb3RyZXRpbm9pbiJdIEFjY3V0YW5lT3JkZXIKICAgICAgICAgc3VjaCB0aGF0IEFjY3V0YW5lT3JkZXIuYXV0aG9yZWRPbiBvY2N1cnMgNyBkYXlzIG9yIGxlc3Mgb24gb3IgYWZ0ZXIgZGF5IG9mIFByZWduYW5jeVRlc3RPcmRlci5hdXRob3JlZE9uCiAgICAgICAgIGFuZCBBY2N1dGFuZU9yZGVyLnN0YXR1cyBpbiB7J2FjdGl2ZScsJ2NvbXBsZXRlZCd9CiAgICAgICAgIGFuZCBBY2N1dGFuZU9yZGVyLmludGVudCA9ICdvcmRlcicKICAgICAgICAgYW5kIFByZWduYW5jeVRlc3RPcmRlci5zdGF0dXMgaW4geydhY3RpdmUnLCdjb21wbGV0ZWQnfQogICAgICAgICBhbmQgUHJlZ25hbmN5VGVzdE9yZGVyLmludGVudCA9ICdvcmRlcicKICAgICAgICAgYW5kIFByZWduYW5jeVRlc3RPcmRlci5hdXRob3JlZE9uIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICApCgpkZWZpbmUgIk51bWVyYXRvciI6CmV4aXN0cyAoWyJPYnNlcnZhdGlvbiI6ICJDaGxhbXlkaWEgU2NyZWVuaW5nIl0gQ2hsYW15ZGlhVGVzdAogICAgIHdoZXJlIENobGFteWRpYVRlc3Quc3RhdHVzIGluIHsncHJlbGltaW5hcnknLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnLCdmaW5hbCd9CiAgICAgYW5kIENobGFteWRpYVRlc3QudmFsdWUgaXMgbm90IG51bGwKICAgICAgIGFuZCBlbmQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKENobGFteWRpYVRlc3QuZWZmZWN0aXZlKSBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIpCgpkZWZpbmUgIlN0cmF0aWZhY3Rpb24gMSI6Ckdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFsxNiwgMjBdCgpkZWZpbmUgIlN0cmF0aWZhY3Rpb24gMiI6Ckdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFsyMSwgMjRdCg=="
} ]
}