LyoKICogQ2xvY2sgKFdhbGxvb24gcmVzb3VyY2VzKQogKgogKiBTaSB2b3Mgdm9sb3ogYWlkZXIgYXZvdSBsaSByYXRv+3JuYWVkamUgZGVzIGxpYmVzIHByb2dyYW1lcyDoIHdhbG9uLAogKiB2b3MgcG9sb3ogc2Ny7nJlIGEgbCcgYWRyZXNzZSBlbWlsZSA8bGludXgtd2FAY2hhbmFlLmFscGhhbmV0LmNoPgogKgogKi8KCiNkZWZpbmUgTEFOR1VBR0VfSUQgICAgICAgICAgICAgICAgICBXYQojZGVmaW5lIExBTkdVQUdFX05VTUJFUiAgICAgICAgICAgICAgOTAKCgovKiBTeXN0ZW0gTWVudSAqLwoKI2RlZmluZSBNRU5VX09OX1RPUCAgICAgICAgICAgICAgICAgICJUb2RpICZWaXNpYmUiCgovKiBXaW5kb3cgTWVudSAqLwoKI2RlZmluZSBNRU5VX1BST1BFUlRJRVMgICAgICAgICAgICAgICImUHJvcGlldOlzIgojZGVmaW5lIE1FTlVfQU5BTE9HICAgICAgICAgICAgICAgICAgIiZBbmFsb2RqaWtlIgojZGVmaW5lIE1FTlVfRElHSVRBTCAgICAgICAgICAgICAgICAgIiZMaW1lcmlrZSIKI2RlZmluZSBNRU5VX0ZPTlQgICAgICAgICAgICAgICAgICAgICImRm9udGUuLi4iCiNkZWZpbmUgTUVOVV9XSVRIT1VUX1RJVExFICAgICAgICAgICAiU2luIGLlciBkaSAmVGl0ZSIKCiNkZWZpbmUgTUVOVV9TRUNPTkRTICAgICAgICAgICAgICAgICAiJlNlZ29uZGVzIgojZGVmaW5lIE1FTlVfREFURSAgICAgICAgICAgICAgICAgICAgIiZEYXRlIgoKI2RlZmluZSBNRU5VX0xBTkdVQUdFICAgICAgICAgICAgICAgICImTGluZ2FlZGplIgojZGVmaW5lIExBTkdVQUdFX01FTlVfSVRFTSAgICAgICAgICAgIiZXYWxvbiIKCiNkZWZpbmUgTUVOVV9JTkZPICAgICAgICAgICAgICAgICAgICAiJkluZm9ybeVjaW9uLi4uIgojZGVmaW5lIE1FTlVfSU5GT19MSUNFTlNFICAgICAgICAgICAgIiZMaWNpbnNlIgojZGVmaW5lIE1FTlVfSU5GT19OT19XQVJSQU5UWSAgICAgICAgIiZOT0xFIFdBUkFOVEVZRSIKI2RlZmluZSBNRU5VX0lORk9fQUJPVVRfV0lORSAgICAgICAgICLFICZkZmFpdCBkaSBsJyD0cmxvZGplLi4uIgoKLyogV2luZG93IENhcHRpb24gKi8KI2RlZmluZSBTVFJJTkdfQ0xPQ0sgICAgICAgICAgICAgICAgICLUcmxvZGplIgoKCiNpbmNsdWRlICJjbG9jay5yYyIK