LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICogQ29weXJpZ2h0IKkgMjAwMi0yMDA1LCBTaWxpY29uIEltYWdlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogKgogKiBObyBwYXJ0IG9mIHRoaXMgd29yayBtYXkgYmUgcmVwcm9kdWNlZCwgbW9kaWZpZWQsIGRpc3RyaWJ1dGVkLCB0cmFuc21pdHRlZCwKICogdHJhbnNjcmliZWQsIG9yIHRyYW5zbGF0ZWQgaW50byBhbnkgbGFuZ3VhZ2Ugb3IgY29tcHV0ZXIgZm9ybWF0LCBpbiBhbnkgZm9ybQogKiBvciBieSBhbnkgbWVhbnMgd2l0aG91dCB3cml0dGVuIHBlcm1pc3Npb24gb2Y6IFNpbGljb24gSW1hZ2UsIEluYy4sCiAqIDEwNjAgRWFzdCBBcnF1ZXMgQXZlbnVlLCBTdW5ueXZhbGUsIENhbGlmb3JuaWEgOTQwODUKICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqLwoKI2luY2x1ZGUgIlNpSVR5cGVEZWZzLmgiCiNpbmNsdWRlICJVR2xvYi5oIgoKCiNkZWZpbmUgU0lJX0VFUFJPTV9JRF9BRERSIDB4MDAKCiNkZWZpbmUgUlhfQVBJX0lEX0wgMHgyMAojZGVmaW5lIFJYX0FQSV9JRF9IIDB4OTMKCiNkZWZpbmUgU0lJX1JYX0lOSVRfU1lTX0FERFIgICAgMHgxMAojZGVmaW5lIFNJSV9SWF9WSURFT19JTlBVVCAgICAgIDB4MTgKI2RlZmluZSBTSUlfUlhfVklERU9fT1VUUFVUX0YgICAweDIwCiNkZWZpbmUgU0lJX1JYX0FVRElPX09VVFBVVF9GICAgMHgzMAoKQllURSBzaWlHZXRQQ0JfSWQodm9pZCk7CkJZVEUgc2lpUlhDb25maWcodm9pZCk7CgoK