Clinical Quality Language Specification, published by Clinical Decision Support WG. This is not an authorized publication; it is the continuous build for version 1.5.2). This version is based on the current content of https://github.com/HL7/cql/ and changes regularly. See the Directory of published versions
{
"resourceType" : "Binary",
"id" : "binary-cql-grammar",
"contentType" : "text/plain",
"data" : "Z3JhbW1hciBjcWw7CgovKgogKiBDbGluaWNhbCBRdWFsaXR5IExhbmd1YWdlIEdyYW1tYXIgU3BlY2lmaWNhdGlvbgogKiBWZXJzaW9uIDEuNCAtIFNUVTQKICovCgppbXBvcnQgZmhpcnBhdGg7CgovKgogKiBQYXJzZXIgUnVsZXMKICovCgpsaWJyYXJ5CiAgICA6CiAgICBsaWJyYXJ5RGVmaW5pdGlvbj8KICAgIHVzaW5nRGVmaW5pdGlvbioKICAgIGluY2x1ZGVEZWZpbml0aW9uKgogICAgY29kZXN5c3RlbURlZmluaXRpb24qCiAgICB2YWx1ZXNldERlZmluaXRpb24qCiAgICBjb2RlRGVmaW5pdGlvbioKICAgIGNvbmNlcHREZWZpbml0aW9uKgogICAgcGFyYW1ldGVyRGVmaW5pdGlvbioKICAgIHN0YXRlbWVudCoKICAgIEVPRgogICAgOwoKLyoKICogRGVmaW5pdGlvbnMKICovCgpsaWJyYXJ5RGVmaW5pdGlvbgogICAgOiAnbGlicmFyeScgcXVhbGlmaWVkSWRlbnRpZmllciAoJ3ZlcnNpb24nIHZlcnNpb25TcGVjaWZpZXIpPwogICAgOwoKdXNpbmdEZWZpbml0aW9uCiAgICA6ICd1c2luZycgbW9kZWxJZGVudGlmaWVyICgndmVyc2lvbicgdmVyc2lvblNwZWNpZmllcik/CiAgICA7CgppbmNsdWRlRGVmaW5pdGlvbgogICAgOiAnaW5jbHVkZScgcXVhbGlmaWVkSWRlbnRpZmllciAoJ3ZlcnNpb24nIHZlcnNpb25TcGVjaWZpZXIpPyAoJ2NhbGxlZCcgbG9jYWxJZGVudGlmaWVyKT8KICAgIDsKCmxvY2FsSWRlbnRpZmllcgogICAgOiBpZGVudGlmaWVyCiAgICA7CgphY2Nlc3NNb2RpZmllcgogICAgOiAncHVibGljJwogICAgfCAncHJpdmF0ZScKICAgIDsKCnBhcmFtZXRlckRlZmluaXRpb24KICAgIDogYWNjZXNzTW9kaWZpZXI/ICdwYXJhbWV0ZXInIGlkZW50aWZpZXIgKHR5cGVTcGVjaWZpZXIpPyAoJ2RlZmF1bHQnIGV4cHJlc3Npb24pPwogICAgOwoKY29kZXN5c3RlbURlZmluaXRpb24KICAgIDogYWNjZXNzTW9kaWZpZXI/ICdjb2Rlc3lzdGVtJyBpZGVudGlmaWVyICc6JyBjb2Rlc3lzdGVtSWQgKCd2ZXJzaW9uJyB2ZXJzaW9uU3BlY2lmaWVyKT8KICAgIDsKCnZhbHVlc2V0RGVmaW5pdGlvbgogICAgOiBhY2Nlc3NNb2RpZmllcj8gJ3ZhbHVlc2V0JyBpZGVudGlmaWVyICc6JyB2YWx1ZXNldElkICgndmVyc2lvbicgdmVyc2lvblNwZWNpZmllcik/IGNvZGVzeXN0ZW1zPwogICAgOwoKY29kZXN5c3RlbXMKICAgIDogJ2NvZGVzeXN0ZW1zJyAneycgY29kZXN5c3RlbUlkZW50aWZpZXIgKCcsJyBjb2Rlc3lzdGVtSWRlbnRpZmllcikqICd9JwogICAgOwoKY29kZXN5c3RlbUlkZW50aWZpZXIKICAgIDogKGxpYnJhcnlJZGVudGlmaWVyICcuJyk/IGlkZW50aWZpZXIKICAgIDsKCmxpYnJhcnlJZGVudGlmaWVyCiAgICA6IGlkZW50aWZpZXIKICAgIDsKCmNvZGVEZWZpbml0aW9uCiAgICA6IGFjY2Vzc01vZGlmaWVyPyAnY29kZScgaWRlbnRpZmllciAnOicgY29kZUlkICdmcm9tJyBjb2Rlc3lzdGVtSWRlbnRpZmllciBkaXNwbGF5Q2xhdXNlPwogICAgOwoKY29uY2VwdERlZmluaXRpb24KICAgIDogYWNjZXNzTW9kaWZpZXI/ICdjb25jZXB0JyBpZGVudGlmaWVyICc6JyAneycgY29kZUlkZW50aWZpZXIgKCcsJyBjb2RlSWRlbnRpZmllcikqICd9JyBkaXNwbGF5Q2xhdXNlPwogICAgOwoKY29kZUlkZW50aWZpZXIKICAgIDogKGxpYnJhcnlJZGVudGlmaWVyICcuJyk/IGlkZW50aWZpZXIKICAgIDsKCmNvZGVzeXN0ZW1JZAogICAgOiBTVFJJTkcKICAgIDsKCnZhbHVlc2V0SWQKICAgIDogU1RSSU5HCiAgICA7Cgp2ZXJzaW9uU3BlY2lmaWVyCiAgICA6IFNUUklORwogICAgOwoKY29kZUlkCiAgICA6IFNUUklORwogICAgOwoKLyoKICogVHlwZSBTcGVjaWZpZXJzCiAqLwoKdHlwZVNwZWNpZmllcgogICAgOiBuYW1lZFR5cGVTcGVjaWZpZXIKICAgIHwgbGlzdFR5cGVTcGVjaWZpZXIKICAgIHwgaW50ZXJ2YWxUeXBlU3BlY2lmaWVyCiAgICB8IHR1cGxlVHlwZVNwZWNpZmllcgogICAgfCBjaG9pY2VUeXBlU3BlY2lmaWVyCiAgICA7CgpuYW1lZFR5cGVTcGVjaWZpZXIKICAgIDogKHF1YWxpZmllciAnLicpKiByZWZlcmVudGlhbE9yVHlwZU5hbWVJZGVudGlmaWVyCiAgICA7Cgptb2RlbElkZW50aWZpZXIKICAgIDogaWRlbnRpZmllcgogICAgOwoKbGlzdFR5cGVTcGVjaWZpZXIKICAgIDogJ0xpc3QnICc8JyB0eXBlU3BlY2lmaWVyICc+JwogICAgOwoKaW50ZXJ2YWxUeXBlU3BlY2lmaWVyCiAgICA6ICdJbnRlcnZhbCcgJzwnIHR5cGVTcGVjaWZpZXIgJz4nCiAgICA7Cgp0dXBsZVR5cGVTcGVjaWZpZXIKICAgIDogJ1R1cGxlJyAneycgdHVwbGVFbGVtZW50RGVmaW5pdGlvbiAoJywnIHR1cGxlRWxlbWVudERlZmluaXRpb24pKiAnfScKICAgIDsKCnR1cGxlRWxlbWVudERlZmluaXRpb24KICAgIDogcmVmZXJlbnRpYWxJZGVudGlmaWVyIHR5cGVTcGVjaWZpZXIKICAgIDsKCmNob2ljZVR5cGVTcGVjaWZpZXIKICAgIDogJ0Nob2ljZScgJzwnIHR5cGVTcGVjaWZpZXIgKCcsJyB0eXBlU3BlY2lmaWVyKSogJz4nCiAgICA7CgovKgogKiBTdGF0ZW1lbnRzCiAqLwoKc3RhdGVtZW50CiAgICA6IGV4cHJlc3Npb25EZWZpbml0aW9uCiAgICB8IGNvbnRleHREZWZpbml0aW9uCiAgICB8IGZ1bmN0aW9uRGVmaW5pdGlvbgogICAgOwoKZXhwcmVzc2lvbkRlZmluaXRpb24KICAgIDogJ2RlZmluZScgYWNjZXNzTW9kaWZpZXI/IGlkZW50aWZpZXIgJzonIGV4cHJlc3Npb24KICAgIDsKCmNvbnRleHREZWZpbml0aW9uCiAgICA6ICdjb250ZXh0JyAobW9kZWxJZGVudGlmaWVyICcuJyk/IGlkZW50aWZpZXIKICAgIDsKCmZ1bmN0aW9uRGVmaW5pdGlvbgogICAgOiAnZGVmaW5lJyBhY2Nlc3NNb2RpZmllcj8gJ2Z1bmN0aW9uJyBpZGVudGlmaWVyT3JGdW5jdGlvbklkZW50aWZpZXIgJygnIChvcGVyYW5kRGVmaW5pdGlvbiAoJywnIG9wZXJhbmREZWZpbml0aW9uKSopPyAnKScKICAgICAgICAoJ3JldHVybnMnIHR5cGVTcGVjaWZpZXIpPwogICAgICAgICc6JyAoZnVuY3Rpb25Cb2R5IHwgJ2V4dGVybmFsJykKICAgIDsKCm9wZXJhbmREZWZpbml0aW9uCiAgICA6IHJlZmVyZW50aWFsSWRlbnRpZmllciB0eXBlU3BlY2lmaWVyCiAgICA7CgpmdW5jdGlvbkJvZHkKICAgIDogZXhwcmVzc2lvbgogICAgOwoKLyoKICogRXhwcmVzc2lvbnMKICovCgpxdWVyeVNvdXJjZQogICAgOiByZXRyaWV2ZQogICAgfCBxdWFsaWZpZWRJZGVudGlmaWVyRXhwcmVzc2lvbgogICAgfCAnKCcgZXhwcmVzc2lvbiAnKScKICAgIDsKCmFsaWFzZWRRdWVyeVNvdXJjZQogICAgOiBxdWVyeVNvdXJjZSBhbGlhcwogICAgOwoKYWxpYXMKICAgIDogaWRlbnRpZmllcgogICAgOwoKcXVlcnlJbmNsdXNpb25DbGF1c2UKICAgIDogd2l0aENsYXVzZQogICAgfCB3aXRob3V0Q2xhdXNlCiAgICA7Cgp3aXRoQ2xhdXNlCiAgICA6ICd3aXRoJyBhbGlhc2VkUXVlcnlTb3VyY2UgJ3N1Y2ggdGhhdCcgZXhwcmVzc2lvbgogICAgOwoKd2l0aG91dENsYXVzZQogICAgOiAnd2l0aG91dCcgYWxpYXNlZFF1ZXJ5U291cmNlICdzdWNoIHRoYXQnIGV4cHJlc3Npb24KICAgIDsKCnJldHJpZXZlCiAgICA6ICdbJyAoY29udGV4dElkZW50aWZpZXIgJy0+Jyk/IG5hbWVkVHlwZVNwZWNpZmllciAoJzonIChjb2RlUGF0aCAnaW4nKT8gdGVybWlub2xvZ3kpPyAnXScKICAgIDsKICAgIApjb250ZXh0SWRlbnRpZmllcgogICAgOiBxdWFsaWZpZWRJZGVudGlmaWVyRXhwcmVzc2lvbgogICAgOwoKY29kZVBhdGgKICAgIDogc2ltcGxlUGF0aAogICAgOwoKdGVybWlub2xvZ3kKICAgIDogcXVhbGlmaWVkSWRlbnRpZmllckV4cHJlc3Npb24KICAgIHwgZXhwcmVzc2lvbgogICAgOwoKcXVhbGlmaWVyCiAgICA6IGlkZW50aWZpZXIKICAgIDsKCnF1ZXJ5CiAgICA6IHNvdXJjZUNsYXVzZSBsZXRDbGF1c2U/IHF1ZXJ5SW5jbHVzaW9uQ2xhdXNlKiB3aGVyZUNsYXVzZT8gcmV0dXJuQ2xhdXNlPyBzb3J0Q2xhdXNlPwogICAgOwoKc291cmNlQ2xhdXNlCiAgICA6ICdmcm9tJz8gYWxpYXNlZFF1ZXJ5U291cmNlICgnLCcgYWxpYXNlZFF1ZXJ5U291cmNlKSoKICAgIDsKCmxldENsYXVzZQogICAgOiAnbGV0JyBsZXRDbGF1c2VJdGVtICgnLCcgbGV0Q2xhdXNlSXRlbSkqCiAgICA7CgpsZXRDbGF1c2VJdGVtCiAgICA6IGlkZW50aWZpZXIgJzonIGV4cHJlc3Npb24KICAgIDsKCndoZXJlQ2xhdXNlCiAgICA6ICd3aGVyZScgZXhwcmVzc2lvbgogICAgOwoKcmV0dXJuQ2xhdXNlCiAgICA6ICdyZXR1cm4nICgnYWxsJyB8ICdkaXN0aW5jdCcpPyBleHByZXNzaW9uCiAgICA7Cgpzb3J0Q2xhdXNlCiAgICA6ICdzb3J0JyAoIHNvcnREaXJlY3Rpb24gfCAoJ2J5JyBzb3J0QnlJdGVtICgnLCcgc29ydEJ5SXRlbSkqKSApCiAgICA7Cgpzb3J0RGlyZWN0aW9uCiAgICA6ICdhc2MnIHwgJ2FzY2VuZGluZycKICAgIHwgJ2Rlc2MnIHwgJ2Rlc2NlbmRpbmcnCiAgICA7Cgpzb3J0QnlJdGVtCiAgICA6IGV4cHJlc3Npb25UZXJtIHNvcnREaXJlY3Rpb24/CiAgICA7CgpxdWFsaWZpZWRJZGVudGlmaWVyCiAgICA6IChxdWFsaWZpZXIgJy4nKSogaWRlbnRpZmllcgogICAgOwoKcXVhbGlmaWVkSWRlbnRpZmllckV4cHJlc3Npb24KICAgIDogKHF1YWxpZmllckV4cHJlc3Npb24gJy4nKSogcmVmZXJlbnRpYWxJZGVudGlmaWVyCiAgICA7CgpxdWFsaWZpZXJFeHByZXNzaW9uCiAgICA6IHJlZmVyZW50aWFsSWRlbnRpZmllcgogICAgOwoKc2ltcGxlUGF0aAogICAgOiByZWZlcmVudGlhbElkZW50aWZpZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3NpbXBsZVBhdGhSZWZlcmVudGlhbElkZW50aWZpZXIKICAgIHwgc2ltcGxlUGF0aCAnLicgcmVmZXJlbnRpYWxJZGVudGlmaWVyICAgICAgICAgICAgICNzaW1wbGVQYXRoUXVhbGlmaWVkSWRlbnRpZmllcgogICAgfCBzaW1wbGVQYXRoICdbJyBzaW1wbGVMaXRlcmFsICddJyAgICAgICAgICAgICAgICAgI3NpbXBsZVBhdGhJbmRleGVyCiAgICA7CgpzaW1wbGVMaXRlcmFsCiAgICA6IFNUUklORwogICAgfCBOVU1CRVIKICAgIDsKCmV4cHJlc3Npb24KICAgIDogZXhwcmVzc2lvblRlcm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICN0ZXJtRXhwcmVzc2lvbgogICAgfCByZXRyaWV2ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3JldHJpZXZlRXhwcmVzc2lvbgogICAgfCBxdWVyeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3F1ZXJ5RXhwcmVzc2lvbgogICAgfCBleHByZXNzaW9uICdpcycgJ25vdCc/ICgnbnVsbCcgfCAndHJ1ZScgfCAnZmFsc2UnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Jvb2xlYW5FeHByZXNzaW9uCiAgICB8IGV4cHJlc3Npb24gKCdpcycgfCAnYXMnKSB0eXBlU3BlY2lmaWVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdHlwZUV4cHJlc3Npb24KICAgIHwgJ2Nhc3QnIGV4cHJlc3Npb24gJ2FzJyB0eXBlU3BlY2lmaWVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNjYXN0RXhwcmVzc2lvbgogICAgfCAnbm90JyBleHByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI25vdEV4cHJlc3Npb24KICAgIHwgJ2V4aXN0cycgZXhwcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNleGlzdGVuY2VFeHByZXNzaW9uCiAgICB8IGV4cHJlc3Npb24gJ3Byb3Blcmx5Jz8gJ2JldHdlZW4nIGV4cHJlc3Npb25UZXJtICdhbmQnIGV4cHJlc3Npb25UZXJtICAgICAgICAgICAgICAgICAgICAgICAgICAjYmV0d2VlbkV4cHJlc3Npb24KICAgIHwgKCdkdXJhdGlvbicgJ2luJyk/IHBsdXJhbERhdGVUaW1lUHJlY2lzaW9uICdiZXR3ZWVuJyBleHByZXNzaW9uVGVybSAnYW5kJyBleHByZXNzaW9uVGVybSAgICAgICNkdXJhdGlvbkJldHdlZW5FeHByZXNzaW9uCiAgICB8ICdkaWZmZXJlbmNlJyAnaW4nIHBsdXJhbERhdGVUaW1lUHJlY2lzaW9uICdiZXR3ZWVuJyBleHByZXNzaW9uVGVybSAnYW5kJyBleHByZXNzaW9uVGVybSAgICAgICAjZGlmZmVyZW5jZUJldHdlZW5FeHByZXNzaW9uCiAgICB8IGV4cHJlc3Npb24gKCc8PScgfCAnPCcgfCAnPicgfCAnPj0nKSBleHByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaW5lcXVhbGl0eUV4cHJlc3Npb24KICAgIHwgZXhwcmVzc2lvbiBpbnRlcnZhbE9wZXJhdG9yUGhyYXNlIGV4cHJlc3Npb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICN0aW1pbmdFeHByZXNzaW9uCiAgICB8IGV4cHJlc3Npb24gKCc9JyB8ICchPScgfCAnficgfCAnIX4nKSBleHByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZXF1YWxpdHlFeHByZXNzaW9uCiAgICB8IGV4cHJlc3Npb24gKCdpbicgfCAnY29udGFpbnMnKSBkYXRlVGltZVByZWNpc2lvblNwZWNpZmllcj8gZXhwcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICAjbWVtYmVyc2hpcEV4cHJlc3Npb24KICAgIHwgZXhwcmVzc2lvbiAnYW5kJyBleHByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhbmRFeHByZXNzaW9uCiAgICB8IGV4cHJlc3Npb24gKCdvcicgfCAneG9yJykgZXhwcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjb3JFeHByZXNzaW9uCiAgICB8IGV4cHJlc3Npb24gJ2ltcGxpZXMnIGV4cHJlc3Npb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaW1wbGllc0V4cHJlc3Npb24KICAgIHwgZXhwcmVzc2lvbiAoJ3wnIHwgJ3VuaW9uJyB8ICdpbnRlcnNlY3QnIHwgJ2V4Y2VwdCcpIGV4cHJlc3Npb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNpbkZpeFNldEV4cHJlc3Npb24KICAgIDsKCmRhdGVUaW1lUHJlY2lzaW9uCiAgICA6ICd5ZWFyJyB8ICdtb250aCcgfCAnd2VlaycgfCAnZGF5JyB8ICdob3VyJyB8ICdtaW51dGUnIHwgJ3NlY29uZCcgfCAnbWlsbGlzZWNvbmQnCiAgICA7CgpkYXRlVGltZUNvbXBvbmVudAogICAgOiBkYXRlVGltZVByZWNpc2lvbgogICAgfCAnZGF0ZScKICAgIHwgJ3RpbWUnCiAgICB8ICd0aW1lem9uZW9mZnNldCcKICAgIDsKCnBsdXJhbERhdGVUaW1lUHJlY2lzaW9uCiAgICA6ICd5ZWFycycgfCAnbW9udGhzJyB8ICd3ZWVrcycgfCAnZGF5cycgfCAnaG91cnMnIHwgJ21pbnV0ZXMnIHwgJ3NlY29uZHMnIHwgJ21pbGxpc2Vjb25kcycKICAgIDsKCmV4cHJlc3Npb25UZXJtCiAgICA6IHRlcm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICN0ZXJtRXhwcmVzc2lvblRlcm0KICAgIHwgZXhwcmVzc2lvblRlcm0gJy4nIHF1YWxpZmllZEludm9jYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ludm9jYXRpb25FeHByZXNzaW9uVGVybQogICAgfCBleHByZXNzaW9uVGVybSAnWycgZXhwcmVzc2lvbiAnXScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaW5kZXhlZEV4cHJlc3Npb25UZXJtCiAgICB8ICdjb252ZXJ0JyBleHByZXNzaW9uICd0bycgKHR5cGVTcGVjaWZpZXIgfCB1bml0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNjb252ZXJzaW9uRXhwcmVzc2lvblRlcm0KICAgIHwgKCcrJyB8ICctJykgZXhwcmVzc2lvblRlcm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3BvbGFyaXR5RXhwcmVzc2lvblRlcm0KICAgIHwgKCdzdGFydCcgfCAnZW5kJykgJ29mJyBleHByZXNzaW9uVGVybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3RpbWVCb3VuZGFyeUV4cHJlc3Npb25UZXJtCiAgICB8IGRhdGVUaW1lQ29tcG9uZW50ICdmcm9tJyBleHByZXNzaW9uVGVybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICN0aW1lVW5pdEV4cHJlc3Npb25UZXJtCiAgICB8ICdkdXJhdGlvbicgJ2luJyBwbHVyYWxEYXRlVGltZVByZWNpc2lvbiAnb2YnIGV4cHJlc3Npb25UZXJtICAgICAgICAgICAgICAgICAgICNkdXJhdGlvbkV4cHJlc3Npb25UZXJtCiAgICB8ICdkaWZmZXJlbmNlJyAnaW4nIHBsdXJhbERhdGVUaW1lUHJlY2lzaW9uICdvZicgZXhwcmVzc2lvblRlcm0gICAgICAgICAgICAgICAgICNkaWZmZXJlbmNlRXhwcmVzc2lvblRlcm0KICAgIHwgJ3dpZHRoJyAnb2YnIGV4cHJlc3Npb25UZXJtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3dpZHRoRXhwcmVzc2lvblRlcm0KICAgIHwgJ3N1Y2Nlc3NvcicgJ29mJyBleHByZXNzaW9uVGVybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3N1Y2Nlc3NvckV4cHJlc3Npb25UZXJtCiAgICB8ICdwcmVkZWNlc3NvcicgJ29mJyBleHByZXNzaW9uVGVybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNwcmVkZWNlc3NvckV4cHJlc3Npb25UZXJtCiAgICB8ICdzaW5nbGV0b24nICdmcm9tJyBleHByZXNzaW9uVGVybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNlbGVtZW50RXh0cmFjdG9yRXhwcmVzc2lvblRlcm0KICAgIHwgJ3BvaW50JyAnZnJvbScgZXhwcmVzc2lvblRlcm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3BvaW50RXh0cmFjdG9yRXhwcmVzc2lvblRlcm0KICAgIHwgKCdtaW5pbXVtJyB8ICdtYXhpbXVtJykgbmFtZWRUeXBlU3BlY2lmaWVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3R5cGVFeHRlbnRFeHByZXNzaW9uVGVybQogICAgfCBleHByZXNzaW9uVGVybSAnXicgZXhwcmVzc2lvblRlcm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjcG93ZXJFeHByZXNzaW9uVGVybQogICAgfCBleHByZXNzaW9uVGVybSAoJyonIHwgJy8nIHwgJ2RpdicgfCAnbW9kJykgZXhwcmVzc2lvblRlcm0gICAgICAgICAgICAgICAgICAgICAjbXVsdGlwbGljYXRpb25FeHByZXNzaW9uVGVybQogICAgfCBleHByZXNzaW9uVGVybSAoJysnIHwgJy0nIHwgJyYnKSBleHByZXNzaW9uVGVybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYWRkaXRpb25FeHByZXNzaW9uVGVybQogICAgfCAnaWYnIGV4cHJlc3Npb24gJ3RoZW4nIGV4cHJlc3Npb24gJ2Vsc2UnIGV4cHJlc3Npb24gICAgICAgICAgICAgICAgICAgICAgICAgICAjaWZUaGVuRWxzZUV4cHJlc3Npb25UZXJtCiAgICB8ICdjYXNlJyBleHByZXNzaW9uPyBjYXNlRXhwcmVzc2lvbkl0ZW0rICdlbHNlJyBleHByZXNzaW9uICdlbmQnICAgICAgICAgICAgICAgICNjYXNlRXhwcmVzc2lvblRlcm0KICAgIHwgKCdkaXN0aW5jdCcgfCAnZmxhdHRlbicpIGV4cHJlc3Npb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2FnZ3JlZ2F0ZUV4cHJlc3Npb25UZXJtCiAgICB8ICgnZXhwYW5kJyB8ICdjb2xsYXBzZScpIGV4cHJlc3Npb24gKCdwZXInIChkYXRlVGltZVByZWNpc2lvbiB8IGV4cHJlc3Npb24pKT8gICNzZXRBZ2dyZWdhdGVFeHByZXNzaW9uVGVybQogICAgOwoKY2FzZUV4cHJlc3Npb25JdGVtCiAgICA6ICd3aGVuJyBleHByZXNzaW9uICd0aGVuJyBleHByZXNzaW9uCiAgICA7CgpkYXRlVGltZVByZWNpc2lvblNwZWNpZmllcgogICAgOiBkYXRlVGltZVByZWNpc2lvbiAnb2YnCiAgICA7CgpyZWxhdGl2ZVF1YWxpZmllcgogICAgOiAnb3IgYmVmb3JlJwogICAgfCAnb3IgYWZ0ZXInCiAgICA7CgpvZmZzZXRSZWxhdGl2ZVF1YWxpZmllcgogICAgOiAnb3IgbW9yZScKICAgIHwgJ29yIGxlc3MnCiAgICA7CgpleGNsdXNpdmVSZWxhdGl2ZVF1YWxpZmllcgogICAgOiAnbGVzcyB0aGFuJwogICAgfCAnbW9yZSB0aGFuJwogICAgOwoKcXVhbnRpdHlPZmZzZXQKICAgIDogKHF1YW50aXR5IG9mZnNldFJlbGF0aXZlUXVhbGlmaWVyPykKICAgIHwgKGV4Y2x1c2l2ZVJlbGF0aXZlUXVhbGlmaWVyIHF1YW50aXR5KQogICAgOwoKdGVtcG9yYWxSZWxhdGlvbnNoaXAKICAgIDogKCdvbiBvcic/ICgnYmVmb3JlJyB8ICdhZnRlcicpKQogICAgfCAoKCdiZWZvcmUnIHwgJ2FmdGVyJykgJ29yIG9uJz8pCiAgICA7CgppbnRlcnZhbE9wZXJhdG9yUGhyYXNlCiAgICA6ICgnc3RhcnRzJyB8ICdlbmRzJyB8ICdvY2N1cnMnKT8gJ3NhbWUnIGRhdGVUaW1lUHJlY2lzaW9uPyAocmVsYXRpdmVRdWFsaWZpZXIgfCAnYXMnKSAoJ3N0YXJ0JyB8ICdlbmQnKT8gICAgICAgICAgICAgICAjY29uY3VycmVudFdpdGhJbnRlcnZhbE9wZXJhdG9yUGhyYXNlCiAgICB8ICdwcm9wZXJseSc/ICdpbmNsdWRlcycgZGF0ZVRpbWVQcmVjaXNpb25TcGVjaWZpZXI/ICgnc3RhcnQnIHwgJ2VuZCcpPyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaW5jbHVkZXNJbnRlcnZhbE9wZXJhdG9yUGhyYXNlCiAgICB8ICgnc3RhcnRzJyB8ICdlbmRzJyB8ICdvY2N1cnMnKT8gJ3Byb3Blcmx5Jz8gKCdkdXJpbmcnIHwgJ2luY2x1ZGVkIGluJykgZGF0ZVRpbWVQcmVjaXNpb25TcGVjaWZpZXI/ICAgICAgICAgICAgICAgICAgICAjaW5jbHVkZWRJbkludGVydmFsT3BlcmF0b3JQaHJhc2UKICAgIHwgKCdzdGFydHMnIHwgJ2VuZHMnIHwgJ29jY3VycycpPyBxdWFudGl0eU9mZnNldD8gdGVtcG9yYWxSZWxhdGlvbnNoaXAgZGF0ZVRpbWVQcmVjaXNpb25TcGVjaWZpZXI/ICgnc3RhcnQnIHwgJ2VuZCcpPyAgICNiZWZvcmVPckFmdGVySW50ZXJ2YWxPcGVyYXRvclBocmFzZQogICAgfCAoJ3N0YXJ0cycgfCAnZW5kcycgfCAnb2NjdXJzJyk/ICdwcm9wZXJseSc/ICd3aXRoaW4nIHF1YW50aXR5ICdvZicgKCdzdGFydCcgfCAnZW5kJyk/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3dpdGhpbkludGVydmFsT3BlcmF0b3JQaHJhc2UKICAgIHwgJ21lZXRzJyAoJ2JlZm9yZScgfCAnYWZ0ZXInKT8gZGF0ZVRpbWVQcmVjaXNpb25TcGVjaWZpZXI/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNtZWV0c0ludGVydmFsT3BlcmF0b3JQaHJhc2UKICAgIHwgJ292ZXJsYXBzJyAoJ2JlZm9yZScgfCAnYWZ0ZXInKT8gZGF0ZVRpbWVQcmVjaXNpb25TcGVjaWZpZXI/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNvdmVybGFwc0ludGVydmFsT3BlcmF0b3JQaHJhc2UKICAgIHwgJ3N0YXJ0cycgZGF0ZVRpbWVQcmVjaXNpb25TcGVjaWZpZXI/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNzdGFydHNJbnRlcnZhbE9wZXJhdG9yUGhyYXNlCiAgICB8ICdlbmRzJyBkYXRlVGltZVByZWNpc2lvblNwZWNpZmllcj8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZW5kc0ludGVydmFsT3BlcmF0b3JQaHJhc2UKICAgIDsKCnRlcm0KICAgIDogaW52b2NhdGlvbiAgICAgICAgICAgICNpbnZvY2F0aW9uVGVybQogICAgfCBsaXRlcmFsICAgICAgICAgICAgICAgI2xpdGVyYWxUZXJtCiAgICB8IGV4dGVybmFsQ29uc3RhbnQgICAgICAjZXh0ZXJuYWxDb25zdGFudFRlcm0KICAgIHwgaW50ZXJ2YWxTZWxlY3RvciAgICAgICNpbnRlcnZhbFNlbGVjdG9yVGVybQogICAgfCB0dXBsZVNlbGVjdG9yICAgICAgICAgI3R1cGxlU2VsZWN0b3JUZXJtCiAgICB8IGluc3RhbmNlU2VsZWN0b3IgICAgICAjaW5zdGFuY2VTZWxlY3RvclRlcm0KICAgIHwgbGlzdFNlbGVjdG9yICAgICAgICAgICNsaXN0U2VsZWN0b3JUZXJtCiAgICB8IGNvZGVTZWxlY3RvciAgICAgICAgICAjY29kZVNlbGVjdG9yVGVybQogICAgfCBjb25jZXB0U2VsZWN0b3IgICAgICAgI2NvbmNlcHRTZWxlY3RvclRlcm0KICAgIHwgJygnIGV4cHJlc3Npb24gJyknICAgICNwYXJlbnRoZXNpemVkVGVybQogICAgOwoKcXVhbGlmaWVkSW52b2NhdGlvbiAvLyBUZXJtcyB0aGF0IGNhbiBiZSB1c2VkIGFmdGVyIHRoZSBmdW5jdGlvbi9tZW1iZXIgaW52b2NhdGlvbiAnLicKICAgIDogcmVmZXJlbnRpYWxJZGVudGlmaWVyICAgICAgICAgICAgICNxdWFsaWZpZWRNZW1iZXJJbnZvY2F0aW9uCiAgICB8IHF1YWxpZmllZEZ1bmN0aW9uICAgICAgICAgICAgICAgICAjcXVhbGlmaWVkRnVuY3Rpb25JbnZvY2F0aW9uCiAgICA7CgpxdWFsaWZpZWRGdW5jdGlvbgogICAgOiBpZGVudGlmaWVyT3JGdW5jdGlvbklkZW50aWZpZXIgJygnIHBhcmFtTGlzdD8gJyknCiAgICA7CgppbnZvY2F0aW9uCiAgICA6IHJlZmVyZW50aWFsSWRlbnRpZmllciAgICAgICAgICAgICAjbWVtYmVySW52b2NhdGlvbgogICAgfCBmdW5jdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgI2Z1bmN0aW9uSW52b2NhdGlvbgogICAgfCAnJHRoaXMnICAgICAgICAgICAgICAgICAgICAgICAgICAgI3RoaXNJbnZvY2F0aW9uCiAgICB8ICckaW5kZXgnICAgICAgICAgICAgICAgICAgICAgICAgICAjaW5kZXhJbnZvY2F0aW9uCiAgICB8ICckdG90YWwnICAgICAgICAgICAgICAgICAgICAgICAgICAjdG90YWxJbnZvY2F0aW9uCiAgICA7CgpmdW5jdGlvbgogICAgOiByZWZlcmVudGlhbElkZW50aWZpZXIgJygnIHBhcmFtTGlzdD8gJyknCiAgICA7CgpyYXRpbwogICAgOiBxdWFudGl0eSAnOicgcXVhbnRpdHkKICAgIDsKCmxpdGVyYWwKICAgIDogKCd0cnVlJyB8ICdmYWxzZScpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Jvb2xlYW5MaXRlcmFsCiAgICB8ICdudWxsJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNudWxsTGl0ZXJhbAogICAgfCBTVFJJTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjc3RyaW5nTGl0ZXJhbAogICAgfCBOVU1CRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbnVtYmVyTGl0ZXJhbAogICAgfCBEQVRFVElNRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZGF0ZVRpbWVMaXRlcmFsCiAgICB8IFRJTUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICN0aW1lTGl0ZXJhbAogICAgfCBxdWFudGl0eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjcXVhbnRpdHlMaXRlcmFsCiAgICB8IHJhdGlvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNyYXRpb0xpdGVyYWwKICAgIDsKCmludGVydmFsU2VsZWN0b3IKICAgIDogLy8gVE9ETzogQ29uc2lkZXIgdGhpcyBhcyBhbiBhbHRlcm5hdGl2ZSBzeW50YXggZm9yIGludGVydmFscy4uLiAod291bGQgbmVlZCB0byBiZSBtb3ZlZCB1cCB0byBleHByZXNzaW9uIHRvIG1ha2UgaXQgd29yaykKICAgIC8vZXhwcmVzc2lvbiAoICcuLicgfCAnKi4nIHwgJy4qJyB8ICcqKicgKSBleHByZXNzaW9uOwogICAgJ0ludGVydmFsJyAoJ1snfCcoJykgZXhwcmVzc2lvbiAnLCcgZXhwcmVzc2lvbiAoJ10nfCcpJykKICAgIDsKCnR1cGxlU2VsZWN0b3IKICAgIDogJ1R1cGxlJz8gJ3snICgnOicgfCAodHVwbGVFbGVtZW50U2VsZWN0b3IgKCcsJyB0dXBsZUVsZW1lbnRTZWxlY3RvcikqKSkgJ30nCiAgICA7Cgp0dXBsZUVsZW1lbnRTZWxlY3RvcgogICAgOiByZWZlcmVudGlhbElkZW50aWZpZXIgJzonIGV4cHJlc3Npb24KICAgIDsKCmluc3RhbmNlU2VsZWN0b3IKICAgIDogbmFtZWRUeXBlU3BlY2lmaWVyICd7JyAoJzonIHwgKGluc3RhbmNlRWxlbWVudFNlbGVjdG9yICgnLCcgaW5zdGFuY2VFbGVtZW50U2VsZWN0b3IpKikpICd9JwogICAgOwoKaW5zdGFuY2VFbGVtZW50U2VsZWN0b3IKICAgIDogcmVmZXJlbnRpYWxJZGVudGlmaWVyICc6JyBleHByZXNzaW9uCiAgICA7CgpsaXN0U2VsZWN0b3IKICAgIDogKCdMaXN0JyAoJzwnIHR5cGVTcGVjaWZpZXIgJz4nKT8pPyAneycgKGV4cHJlc3Npb24gKCcsJyBleHByZXNzaW9uKSopPyAnfScKICAgIDsKCmRpc3BsYXlDbGF1c2UKICAgIDogJ2Rpc3BsYXknIFNUUklORwogICAgOwoKY29kZVNlbGVjdG9yCiAgICA6ICdDb2RlJyBTVFJJTkcgJ2Zyb20nIGNvZGVzeXN0ZW1JZGVudGlmaWVyIGRpc3BsYXlDbGF1c2U/CiAgICA7Cgpjb25jZXB0U2VsZWN0b3IKICAgIDogJ0NvbmNlcHQnICd7JyBjb2RlU2VsZWN0b3IgKCcsJyBjb2RlU2VsZWN0b3IpKiAnfScgZGlzcGxheUNsYXVzZT8KICAgIDsKCmtleXdvcmQKICAgIDogJ2FmdGVyJwogICAgfCAnYWxsJwogICAgfCAnYW5kJwogICAgfCAnYXMnCiAgICB8ICdhc2MnCiAgICB8ICdhc2NlbmRpbmcnCiAgICB8ICdiZWZvcmUnCiAgICB8ICdiZXR3ZWVuJwogICAgfCAnYnknCiAgICB8ICdjYWxsZWQnCiAgICB8ICdjYXNlJwogICAgfCAnY2FzdCcKICAgIHwgJ2NvZGUnCiAgICB8ICdDb2RlJwogICAgfCAnY29kZXN5c3RlbScKICAgIHwgJ2NvZGVzeXN0ZW1zJwogICAgfCAnY29sbGFwc2UnCiAgICB8ICdjb25jZXB0JwogICAgfCAnQ29uY2VwdCcKICAgIHwgJ2NvbnRhaW5zJwogICAgfCAnY29udGV4dCcKICAgIHwgJ2NvbnZlcnQnCiAgICB8ICdkYXRlJwogICAgfCAnZGF5JwogICAgfCAnZGF5cycKICAgIHwgJ2RlZmF1bHQnCiAgICB8ICdkZWZpbmUnCiAgICB8ICdkZXNjJwogICAgfCAnZGVzY2VuZGluZycKICAgIHwgJ2RpZmZlcmVuY2UnCiAgICB8ICdkaXNwbGF5JwogICAgfCAnZGlzdGluY3QnCiAgICB8ICdkaXYnCiAgICB8ICdkdXJhdGlvbicKICAgIHwgJ2R1cmluZycKICAgIHwgJ2Vsc2UnCiAgICB8ICdlbmQnCiAgICB8ICdlbmRzJwogICAgfCAnZXhjZXB0JwogICAgfCAnZXhpc3RzJwogICAgfCAnZXhwYW5kJwogICAgfCAnZmFsc2UnCiAgICB8ICdmbGF0dGVuJwogICAgfCAnZnJvbScKICAgIHwgJ2Z1bmN0aW9uJwogICAgfCAnaG91cicKICAgIHwgJ2hvdXJzJwogICAgfCAnaWYnCiAgICB8ICdpbXBsaWVzJwogICAgfCAnaW4nCiAgICB8ICdpbmNsdWRlJwogICAgfCAnaW5jbHVkZXMnCiAgICB8ICdpbmNsdWRlZCBpbicKICAgIHwgJ2ludGVyc2VjdCcKICAgIHwgJ0ludGVydmFsJwogICAgfCAnaXMnCiAgICB8ICdsZXQnCiAgICB8ICdsaWJyYXJ5JwogICAgfCAnTGlzdCcKICAgIHwgJ21heGltdW0nCiAgICB8ICdtZWV0cycKICAgIHwgJ21pbGxpc2Vjb25kJwogICAgfCAnbWlsbGlzZWNvbmRzJwogICAgfCAnbWluaW11bScKICAgIHwgJ21pbnV0ZScKICAgIHwgJ21pbnV0ZXMnCiAgICB8ICdtb2QnCiAgICB8ICdtb250aCcKICAgIHwgJ21vbnRocycKICAgIHwgJ25vdCcKICAgIHwgJ251bGwnCiAgICB8ICdvY2N1cnMnCiAgICB8ICdvZicKICAgIHwgJ29uIG9yJwogICAgfCAnb3InCiAgICB8ICdvciBhZnRlcicKICAgIHwgJ29yIGJlZm9yZScKICAgIHwgJ29yIGxlc3MnCiAgICB8ICdvciBtb3JlJwogICAgfCAnb3Igb24nCiAgICB8ICdvdmVybGFwcycKICAgIHwgJ3BhcmFtZXRlcicKICAgIHwgJ3BlcicKICAgIHwgJ3ByZWRlY2Vzc29yJwogICAgfCAncHJpdmF0ZScKICAgIHwgJ3Byb3Blcmx5JwogICAgfCAncHVibGljJwogICAgfCAncmV0dXJuJwogICAgfCAnc2FtZScKICAgIHwgJ3NlY29uZCcKICAgIHwgJ3NlY29uZHMnCiAgICB8ICdzaW5nbGV0b24nCiAgICB8ICdzdGFydCcKICAgIHwgJ3N0YXJ0cycKICAgIHwgJ3NvcnQnCiAgICB8ICdzdWNjZXNzb3InCiAgICB8ICdzdWNoIHRoYXQnCiAgICB8ICd0aGVuJwogICAgfCAndGltZScKICAgIHwgJ3RpbWV6b25lb2Zmc2V0JwogICAgfCAndG8nCiAgICB8ICd0cnVlJwogICAgfCAnVHVwbGUnCiAgICB8ICd1bmlvbicKICAgIHwgJ3VzaW5nJwogICAgfCAndmFsdWVzZXQnCiAgICB8ICd2ZXJzaW9uJwogICAgfCAnd2VlaycKICAgIHwgJ3dlZWtzJwogICAgfCAnd2hlcmUnCiAgICB8ICd3aGVuJwogICAgfCAnd2lkdGgnCiAgICB8ICd3aXRoJwogICAgfCAnd2l0aGluJwogICAgfCAnd2l0aG91dCcKICAgIHwgJ3hvcicKICAgIHwgJ3llYXInCiAgICB8ICd5ZWFycycKICAgIDsKCi8vIE5PVEU6IE5vdCB1c2VkLCB0aGlzIGlzIHRoZSBzZXQgb2YgcmVzZXJ2ZWQgd29yZHMgdGhhdCBtYXkgbm90IGFwcGVhciBhcyBpZGVudGlmaWVycyBpbiBhbWJpZ3VvdXMgY29udGV4dHMKcmVzZXJ2ZWRXb3JkCiAgICA6ICdhbGwnCiAgICB8ICdhbmQnCiAgICB8ICdhcycKICAgIHwgJ2FmdGVyJwogICAgfCAnYmVmb3JlJwogICAgfCAnYmV0d2VlbicKICAgIHwgJ2Nhc2UnCiAgICB8ICdjYXN0JwogICAgfCAnQ29kZScKICAgIHwgJ2NvbGxhcHNlJwogICAgfCAnQ29uY2VwdCcKICAgIHwgJ2NvbnZlcnQnCiAgICB8ICdkYXknCiAgICB8ICdkYXlzJwogICAgfCAnZGlmZmVyZW5jZScKICAgIHwgJ2Rpc3RpbmN0JwogICAgfCAnZHVyYXRpb24nCiAgICB8ICdkdXJpbmcnCiAgICB8ICdlbHNlJwogICAgfCAnZXhpc3RzJwogICAgfCAnZXhwYW5kJwogICAgfCAnZmFsc2UnCiAgICB8ICdmbGF0dGVuJwogICAgfCAnZnJvbScKICAgIHwgJ2lmJwogICAgfCAnaW4nCiAgICB8ICdpbmNsdWRlZCBpbicKICAgIHwgJ2lzJwogICAgfCAnaG91cicKICAgIHwgJ2hvdXJzJwogICAgfCAnSW50ZXJ2YWwnCiAgICB8ICdsZXQnCiAgICB8ICdMaXN0JwogICAgfCAnbWF4aW11bScKICAgIHwgJ21pbGxpc2Vjb25kJwogICAgfCAnbWlsbGlzZWNvbmRzJwogICAgfCAnbWluaW11bScKICAgIHwgJ21pbnV0ZScKICAgIHwgJ21pbnV0ZXMnCiAgICB8ICdtb250aCcKICAgIHwgJ21vbnRocycKICAgIHwgJ25vdCcKICAgIHwgJ251bGwnCiAgICB8ICdvY2N1cnMnCiAgICB8ICdvZicKICAgIHwgJ29uIG9yJwogICAgfCAnb3InCiAgICB8ICdvciBvbicKICAgIHwgJ3BlcicKICAgIHwgJ3Byb3Blcmx5JwogICAgfCAncmV0dXJuJwogICAgfCAnc2FtZScKICAgIHwgJ3NlY29uZCcKICAgIHwgJ3NlY29uZHMnCiAgICB8ICdzaW5nbGV0b24nCiAgICB8ICdzb3J0JwogICAgfCAnc3VjaCB0aGF0JwogICAgfCAndGhlbicKICAgIHwgJ3RvJwogICAgfCAndHJ1ZScKICAgIHwgJ1R1cGxlJwogICAgfCAnd2VlaycKICAgIHwgJ3dlZWtzJwogICAgfCAnd2hlbicKICAgIHwgJ3dpdGgnCiAgICB8ICd3aXRoaW4nCiAgICB8ICd3aXRob3V0JwogICAgfCAneWVhcicKICAgIHwgJ3llYXJzJwogICAgOwoKLy8gS2V5d29yZCBpZGVudGlmaWVycyBhcmUga2V5d29yZHMgdGhhdCBtYXkgYmUgdXNlZCBhcyBpZGVudGlmaWVycyBpbiBhIHJlZmVyZW50aWFsIGNvbnRleHQKLy8gRWZmZWN0aXZlbHksIGtleXdvcmQgZXhjZXB0IHJlc2VydmVkV29yZAprZXl3b3JkSWRlbnRpZmllcgogICAgOiAnYXNjJwogICAgfCAnYXNjZW5kaW5nJwogICAgfCAnYnknCiAgICB8ICdjYWxsZWQnCiAgICB8ICdjb2RlJwogICAgfCAnY29kZXN5c3RlbScKICAgIHwgJ2NvZGVzeXN0ZW1zJwogICAgfCAnY29uY2VwdCcKICAgIHwgJ2NvbnRhaW5zJwogICAgfCAnY29udGV4dCcKICAgIHwgJ2RhdGUnCiAgICB8ICdkZWZhdWx0JwogICAgfCAnZGVmaW5lJwogICAgfCAnZGVzYycKICAgIHwgJ2Rlc2NlbmRpbmcnCiAgICB8ICdkaXNwbGF5JwogICAgfCAnZGl2JwogICAgfCAnZW5kJwogICAgfCAnZW5kcycKICAgIHwgJ2V4Y2VwdCcKICAgIHwgJ2Z1bmN0aW9uJwogICAgfCAnaW1wbGllcycKICAgIHwgJ2luY2x1ZGUnCiAgICB8ICdpbmNsdWRlcycKICAgIHwgJ2ludGVyc2VjdCcKICAgIHwgJ2xpYnJhcnknCiAgICB8ICdtZWV0cycKICAgIHwgJ21vZCcKICAgIHwgJ29yIGFmdGVyJwogICAgfCAnb3IgYmVmb3JlJwogICAgfCAnb3IgbGVzcycKICAgIHwgJ29yIG1vcmUnCiAgICB8ICdvdmVybGFwcycKICAgIHwgJ3BhcmFtZXRlcicKICAgIHwgJ3ByZWRlY2Vzc29yJwogICAgfCAncHJpdmF0ZScKICAgIHwgJ3B1YmxpYycKICAgIHwgJ3N0YXJ0JwogICAgfCAnc3RhcnRzJwogICAgfCAnc3VjY2Vzc29yJwogICAgfCAndGltZScKICAgIHwgJ3RpbWV6b25lb2Zmc2V0JwogICAgfCAndW5pb24nCiAgICB8ICd1c2luZycKICAgIHwgJ3ZhbHVlc2V0JwogICAgfCAndmVyc2lvbicKICAgIHwgJ3doZXJlJwogICAgfCAnd2lkdGgnCiAgICB8ICd4b3InCiAgICA7CgovLyBPYnNvbGV0ZSBpZGVudGlmaWVycyBhcmUga2V5d29yZHMgdGhhdCBjb3VsZCBiZSB1c2VkIGFzIGlkZW50aWZpZXJzIGluIENRTCAxLjMKLy8gTk9URTogTm90IGN1cnJlbnRseSB1c2VkLCB0aGlzIGlzIHRoZSBzZXQgb2Yga2V5d29yZHMgdGhhdCB3ZXJlIGRlZmluZWQgYXMgYWxsb3dlZCBpZGVudGlmaWVycyBhcyBwYXJ0IG9mIDEuMwovLyBOT1RFOiBTZXZlcmFsIGtleXdvcmRzIHdlcmUgY29tbWVudGVkIG91dCBpbiB0aGlzIGxpc3QgKG5vdGFibHkgZXhpc3RzKSBiZWNhdXNlIG9mIGFuIGlzc3VlIHdpdGggdGhlIEFOVExSIHRvb2xpbmcuCi8vIEluIDQuNSwgaGF2aW5nIHRoZXNlIGtleXdvcmRzIGFzIGlkZW50aWZpZXJzIHJlc3VsdHMgaW4gdW5hY2NlcHRhYmxlIHBhcnNpbmcgcGVyZm9ybWFuY2UuIEluIDQuNissIGhhdmluZyB0aGVtIGFzCi8vIGlkZW50aWZpZXJzIHJlc3VsdGVkIGluIGluY29ycmVjdCBwYXJzaW5nLiBTZWUgR2l0aHViIGlzc3VlIFsjMzQzXShodHRwczovL2dpdGh1Yi5jb20vY3FmcmFtZXdvcmsvY2xpbmljYWxfcXVhbGl0eV9sYW5ndWFnZS9pc3N1ZXMvMzQzKSBmb3IgbW9yZSBkZXRhaWwKLy8gVGhpcyBzaG91bGQgbm8gbG9uZ2VyIGJlIGFuIGlzc3VlIHdpdGggMS40IGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mIHJlc2VydmVkIHdvcmRzCm9ic29sZXRlSWRlbnRpZmllcgogICAgOiAnYWxsJwogICAgfCAnQ29kZScKICAgIHwgJ2NvZGUnCiAgICB8ICdDb25jZXB0JwogICAgfCAnY29uY2VwdCcKICAgIHwgJ2NvbnRhaW5zJwogICAgfCAnZGF0ZScKICAgIHwgJ2Rpc3BsYXknCiAgICB8ICdkaXN0aW5jdCcKICAgIHwgJ2VuZCcKICAgIHwgJ2V4aXN0cycKICAgIHwgJ25vdCcKICAgIHwgJ3N0YXJ0JwogICAgfCAndGltZScKICAgIHwgJ3RpbWV6b25lb2Zmc2V0JwogICAgfCAndmVyc2lvbicKICAgIHwgJ3doZXJlJwogICAgOwoKLy8gRnVuY3Rpb24gaWRlbnRpZmllcnMgYXJlIGtleXdvcmRzIHRoYXQgbWF5IGJlIHVzZWQgYXMgaWRlbnRpZmllcnMgZm9yIGZ1bmN0aW9ucwpmdW5jdGlvbklkZW50aWZpZXIKICAgIDogJ2FmdGVyJwogICAgfCAnYWxsJwogICAgfCAnYW5kJwogICAgfCAnYXMnCiAgICB8ICdhc2MnCiAgICB8ICdhc2NlbmRpbmcnCiAgICB8ICdiZWZvcmUnCiAgICB8ICdiZXR3ZWVuJwogICAgfCAnYnknCiAgICB8ICdjYWxsZWQnCiAgICB8ICdjYXNlJwogICAgfCAnY2FzdCcKICAgIHwgJ2NvZGUnCiAgICB8ICdDb2RlJwogICAgfCAnY29kZXN5c3RlbScKICAgIHwgJ2NvZGVzeXN0ZW1zJwogICAgfCAnY29sbGFwc2UnCiAgICB8ICdjb25jZXB0JwogICAgfCAnQ29uY2VwdCcKICAgIHwgJ2NvbnRhaW5zJwogICAgfCAnY29udGV4dCcKICAgIHwgJ2NvbnZlcnQnCiAgICB8ICdkYXRlJwogICAgfCAnZGF5JwogICAgfCAnZGF5cycKICAgIHwgJ2RlZmF1bHQnCiAgICB8ICdkZWZpbmUnCiAgICB8ICdkZXNjJwogICAgfCAnZGVzY2VuZGluZycKICAgIHwgJ2RpZmZlcmVuY2UnCiAgICB8ICdkaXNwbGF5JwogICAgfCAnZGlzdGluY3QnCiAgICB8ICdkaXYnCiAgICB8ICdkdXJhdGlvbicKICAgIHwgJ2R1cmluZycKICAgIHwgJ2Vsc2UnCiAgICB8ICdlbmQnCiAgICB8ICdlbmRzJwogICAgfCAnZXhjZXB0JwogICAgfCAnZXhpc3RzJwogICAgfCAnZXhwYW5kJwogICAgfCAnZmFsc2UnCiAgICB8ICdmbGF0dGVuJwogICAgfCAnZnJvbScKICAgIHwgJ2Z1bmN0aW9uJwogICAgfCAnaG91cicKICAgIHwgJ2hvdXJzJwogICAgfCAnaWYnCiAgICB8ICdpbXBsaWVzJwogICAgfCAnaW4nCiAgICB8ICdpbmNsdWRlJwogICAgfCAnaW5jbHVkZXMnCiAgICB8ICdpbmNsdWRlZCBpbicKICAgIHwgJ2ludGVyc2VjdCcKICAgIHwgJ0ludGVydmFsJwogICAgfCAnaXMnCiAgICB8ICdsZXQnCiAgICB8ICdsaWJyYXJ5JwogICAgfCAnTGlzdCcKICAgIHwgJ21heGltdW0nCiAgICB8ICdtZWV0cycKICAgIHwgJ21pbGxpc2Vjb25kJwogICAgfCAnbWlsbGlzZWNvbmRzJwogICAgfCAnbWluaW11bScKICAgIHwgJ21pbnV0ZScKICAgIHwgJ21pbnV0ZXMnCiAgICB8ICdtb2QnCiAgICB8ICdtb250aCcKICAgIHwgJ21vbnRocycKICAgIHwgJ25vdCcKICAgIHwgJ251bGwnCiAgICB8ICdvY2N1cnMnCiAgICB8ICdvZicKICAgIHwgJ29yJwogICAgfCAnb3IgYWZ0ZXInCiAgICB8ICdvciBiZWZvcmUnCiAgICB8ICdvciBsZXNzJwogICAgfCAnb3IgbW9yZScKICAgIHwgJ292ZXJsYXBzJwogICAgfCAncGFyYW1ldGVyJwogICAgfCAncGVyJwogICAgfCAncHJlZGVjZXNzb3InCiAgICB8ICdwcml2YXRlJwogICAgfCAncHJvcGVybHknCiAgICB8ICdwdWJsaWMnCiAgICB8ICdyZXR1cm4nCiAgICB8ICdzYW1lJwogICAgfCAnc2luZ2xldG9uJwogICAgfCAnc2Vjb25kJwogICAgfCAnc2Vjb25kcycKICAgIHwgJ3N0YXJ0JwogICAgfCAnc3RhcnRzJwogICAgfCAnc29ydCcKICAgIHwgJ3N1Y2Nlc3NvcicKICAgIHwgJ3N1Y2ggdGhhdCcKICAgIHwgJ3RoZW4nCiAgICB8ICd0aW1lJwogICAgfCAndGltZXpvbmVvZmZzZXQnCiAgICB8ICd0bycKICAgIHwgJ3RydWUnCiAgICB8ICdUdXBsZScKICAgIHwgJ3VuaW9uJwogICAgfCAndXNpbmcnCiAgICB8ICd2YWx1ZXNldCcKICAgIHwgJ3ZlcnNpb24nCiAgICB8ICd3ZWVrJwogICAgfCAnd2Vla3MnCiAgICB8ICd3aGVyZScKICAgIHwgJ3doZW4nCiAgICB8ICd3aWR0aCcKICAgIHwgJ3dpdGgnCiAgICB8ICd3aXRoaW4nCiAgICB8ICd3aXRob3V0JwogICAgfCAneG9yJwogICAgfCAneWVhcicKICAgIHwgJ3llYXJzJwogICAgOwoKLy8gUmVzZXJ2ZWQgd29yZHMgdGhhdCBhcmUgYWxzbyB0eXBlIG5hbWVzCnR5cGVOYW1lSWRlbnRpZmllcgogICAgOiAnQ29kZScKICAgIHwgJ0NvbmNlcHQnCiAgICB8ICdkYXRlJwogICAgfCAndGltZScKICAgIDsKCnJlZmVyZW50aWFsSWRlbnRpZmllcgogICAgOiBpZGVudGlmaWVyCiAgICB8IGtleXdvcmRJZGVudGlmaWVyCiAgICA7CgpyZWZlcmVudGlhbE9yVHlwZU5hbWVJZGVudGlmaWVyCiAgICA6IHJlZmVyZW50aWFsSWRlbnRpZmllcgogICAgfCB0eXBlTmFtZUlkZW50aWZpZXIKICAgIDsKCmlkZW50aWZpZXJPckZ1bmN0aW9uSWRlbnRpZmllcgogICAgOiBpZGVudGlmaWVyCiAgICB8IGZ1bmN0aW9uSWRlbnRpZmllcgogICAgOwoKaWRlbnRpZmllcgogICAgOiBJREVOVElGSUVSCiAgICB8IERFTElNSVRFRElERU5USUZJRVIKICAgIHwgUVVPVEVESURFTlRJRklFUgogICAgOwoKUVVPVEVESURFTlRJRklFUgogICAgOiAnIicgKEVTQyB8IC4pKj8gJyInCiAgICA7CgpmcmFnbWVudCBFU0MKICAgIDogJ1xcJyAoW2AnIlxcL2ZucnRdIHwgVU5JQ09ERSkgICAgLy8gYWxsb3cgXGAsIFwnLCBcIiwgXFwsIFwvLCBcZiwgZXRjLiBhbmQgXHVYWFgKICAgIDsKCg=="
}
© HL7.org 2014+. CQL (Development Build) (Clinical Decision Support WG). hl7.cql#1.5.2 generated on 2023-01-19 22:26:25 +0000 | License | Version History | Propose a change