IyBUcmFuc2xhdGlvbiBpbnRvIHRoZSB3YWxsb29uIGxhbmd1YWdlLgojCiMgU2kgdm9zIHZvbG96IGRvbm5lciBvbiBj9HAgZGkgc3BhbGUgcG9sIHJhdG/7cm5hZWRqZSBkaSBHbm9tZSAob3UgZGVzCiMg9HRlcyBsaWJlcyBwcm9ncmFtZXMpIHNpY3Jpamhvei1tdSBhIGwnIGFkcmVzc2UgZW1pbGUKIyA8bGludXgtd2FAY2hhbmFlLmFscGhhbmV0LmNoPjsgbm9zIGF2b25zIGNvIGJy5W1pbnQgZGkgbCcgb3ZyYWVkamUgYSBm6S4KIwojIENvcHlyaWdodCAoQykgMTk5OSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogcG9wdCAxLjExXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogPHBvcHQtZGV2ZWxAcnBtNS5vcmc+XG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMC0wMi0xNyAxMzozNS0wNTAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAxOTk5LTAzLTE4IDIzOjExKzAxMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogTm9ib2R5IHlldFxuIgoiTGFuZ3VhZ2UtVGVhbTogd2Fsb24gPGxpbnV4LXdhQGNoYW5hZS5hbHBoYW5ldC5jaD5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9aXNvLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIzogcG9wdC5jOjQ3Cm1zZ2lkICJ1bmtub3duIGVycm5vIgptc2dzdHIgIiIKCiM6IHBvcHQuYzoxMjkwCiMsIGMtZm9ybWF0Cm1zZ2lkICJvcHRpb24gdHlwZSAoJXUpIG5vdCBpbXBsZW1lbnRlZCBpbiBwb3B0XG4iCm1zZ3N0ciAiIgoKIzogcG9wdC5jOjE3MTEKbXNnaWQgIm1pc3NpbmcgYXJndW1lbnQiCm1zZ3N0ciAiIgoKIzogcG9wdC5jOjE3MTMKbXNnaWQgInVua25vd24gb3B0aW9uIgptc2dzdHIgIiIKCiM6IHBvcHQuYzoxNzE1Cm1zZ2lkICJtdXR1YWxseSBleGNsdXNpdmUgbG9naWNhbCBvcGVyYXRpb25zIHJlcXVlc3RlZCIKbXNnc3RyICIiCgojOiBwb3B0LmM6MTcxNwptc2dpZCAib3B0LT5hcmcgc2hvdWxkIG5vdCBiZSBOVUxMIgptc2dzdHIgIiIKCiM6IHBvcHQuYzoxNzE5Cm1zZ2lkICJhbGlhc2VzIG5lc3RlZCB0b28gZGVlcGx5Igptc2dzdHIgIiIKCiM6IHBvcHQuYzoxNzIxCm1zZ2lkICJlcnJvciBpbiBwYXJhbWV0ZXIgcXVvdGluZyIKbXNnc3RyICIiCgojOiBwb3B0LmM6MTcyMwptc2dpZCAiaW52YWxpZCBudW1lcmljIHZhbHVlIgptc2dzdHIgIiIKCiM6IHBvcHQuYzoxNzI1Cm1zZ2lkICJudW1iZXIgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCIKbXNnc3RyICIiCgojOiBwb3B0LmM6MTcyNwptc2dpZCAibWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkIgptc2dzdHIgIiIKCiM6IHBvcHQuYzoxNzI5Cm1zZ2lkICJjb25maWcgZmlsZSBmYWlsZWQgc2FuaXR5IHRlc3QiCm1zZ3N0ciAiIgoKIzogcG9wdC5jOjE3MzMKbXNnaWQgInVua25vd24gZXJyb3IiCm1zZ3N0ciAiIgoKIzogcG9wdGhlbHAuYzo3NSBwb3B0aGVscC5jOjg2Cm1zZ2lkICJTaG93IHRoaXMgaGVscCBtZXNzYWdlIgptc2dzdHIgIk1vc3RyZXIgY2kgbWVzc2FlZGplIGQnIGFpZGUgY2hhbCIKCiM6IHBvcHRoZWxwLmM6NzYgcG9wdGhlbHAuYzo4Nwptc2dpZCAiRGlzcGxheSBicmllZiB1c2FnZSBtZXNzYWdlIgptc2dzdHIgIk1vc3RyZSBvbiBjb3VydCBtZXNzYWVkamUgc28ga21pbnQgdm9zIOggc2llcnZpIgoKIzogcG9wdGhlbHAuYzo5MAojLCBmdXp6eQptc2dpZCAiRGlzcGxheSBvcHRpb24gZGVmYXVsdHMgaW4gbWVzc2FnZSIKbXNnc3RyICJNb3N0cmUgb24gY291cnQgbWVzc2FlZGplIHNvIGttaW50IHZvcyDoIHNpZXJ2aSIKCiM6IHBvcHRoZWxwLmM6OTIKbXNnaWQgIlRlcm1pbmF0ZSBvcHRpb25zIgptc2dzdHIgIiIKCiM6IHBvcHRoZWxwLmM6MTkxCm1zZ2lkICJIZWxwIG9wdGlvbnM6Igptc2dzdHIgIiIKCiM6IHBvcHRoZWxwLmM6MTkyCm1zZ2lkICJPcHRpb25zIGltcGxlbWVudGVkIHZpYSBwb3B0IGFsaWFzL2V4ZWM6Igptc2dzdHIgIiIKCiM6IHBvcHRoZWxwLmM6MjAwCm1zZ2lkICJOT05FIgptc2dzdHIgIiIKCiM6IHBvcHRoZWxwLmM6MjAyCm1zZ2lkICJWQUwiCm1zZ3N0ciAiIgoKIzogcG9wdGhlbHAuYzoyMDYKbXNnaWQgIklOVCIKbXNnc3RyICIiCgojOiBwb3B0aGVscC5jOjIwNwptc2dpZCAiU0hPUlQiCm1zZ3N0ciAiIgoKIzogcG9wdGhlbHAuYzoyMDgKbXNnaWQgIkxPTkciCm1zZ3N0ciAiIgoKIzogcG9wdGhlbHAuYzoyMDkKbXNnaWQgIkxPTkdMT05HIgptc2dzdHIgIiIKCiM6IHBvcHRoZWxwLmM6MjEwCm1zZ2lkICJTVFJJTkciCm1zZ3N0ciAiIgoKIzogcG9wdGhlbHAuYzoyMTEKbXNnaWQgIkZMT0FUIgptc2dzdHIgIiIKCiM6IHBvcHRoZWxwLmM6MjEyCm1zZ2lkICJET1VCTEUiCm1zZ3N0ciAiIgoKIzogcG9wdGhlbHAuYzoyMTUKbXNnaWQgIkFSRyIKbXNnc3RyICIiCgojOiBwb3B0aGVscC5jOjY0OQptc2dpZCAiVXNhZ2U6Igptc2dzdHIgIiIKCiM6IHBvcHRoZWxwLmM6NjcyCm1zZ2lkICJbT1BUSU9OLi4uXSIKbXNnc3RyICIiCg==