IyBHZXJtYW4gbWVzc2FnZXMgZm9yIEdOVSBUZXhpbmZvCiMgQ29weXJpZ2h0IKkgMTk5NiwgMTk5NywgMTk5OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBLYXJsIEVpY2h3YWxkZXIgPGtlQGtlLkNlbnRyYWwuREU+LCAxOTk2LgojIEthcmwgRWljaHdhbGRlciA8a2VAU3VTRS5ERT4sIDE5OTcsMTk5OC4KIwojIDE5OTgtMDItMjggMTQ6Mjk6NDkgTUVUCiMgUmV2aXNlZCBmb3IgMy4xMWIKIyBJIHJlZnVzZSB0byB0cmFuc2xhdGUgZ2V0b3B0LmMgc3RyaW5ncwojIC1rZS0KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogdGV4aW5mbyAzLjExXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMTk5OC0wMy0wMyAxMzozMi0wNTAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAxOTk4LTAyLTI4IDE0OjMyKzAxOjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEthcmwgRWljaHdhbGRlciA8a2VAU3VTRS5ERT5cbiIKIkxhbmd1YWdlLVRlYW06IEdlcm1hbiA8ZGVAbGkub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4LWJpdFxuIgoKIy4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgojLgojLiBFY2hvIEFyZWEgTW92ZW1lbnQgQ29tbWFuZHMKIy4KIy4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgojOiBpbmZvL2VjaG8tYXJlYS5jOjI4MyBpbmZvL3Nlc3Npb24uYzo2OTgKbXNnaWQgIk1vdmUgZm9yd2FyZCBhIGNoYXJhY3RlciIKbXNnc3RyICJFaW4gWmVpY2hlbiB2b3J35HJ0cyBiZXdlZ2VuIgoKIy4gTW92ZSBwb2ludCBiYWNrd2FyZCBpbiB0aGUgbm9kZS4KIzogaW5mby9lY2hvLWFyZWEuYzoyOTUgaW5mby9zZXNzaW9uLmM6NzE0Cm1zZ2lkICJNb3ZlIGJhY2t3YXJkIGEgY2hhcmFjdGVyIgptc2dzdHIgIkVpbiBaZWljaGVuIHL8Y2t35HJ0cyBiZXdlZ2VuIgoKIzogaW5mby9lY2hvLWFyZWEuYzozMDcKbXNnaWQgIk1vdmUgdG8gdGhlIHN0YXJ0IG9mIHRoaXMgbGluZSIKbXNnc3RyICJadW0gQW5mYW5nIGRpZXNlciBaZWlsZSBiZXdlZ2VuIgoKIzogaW5mby9lY2hvLWFyZWEuYzozMTIKbXNnaWQgIk1vdmUgdG8gdGhlIGVuZCBvZiB0aGlzIGxpbmUiCm1zZ3N0ciAiWnVtIEVuZGUgZGllc2VyIFplaWxlIGJld2VnZW4iCgojLiBNb3ZlIGZvcndhcmQgYSB3b3JkIGluIHRoZSBpbnB1dCBsaW5lLgojOiBpbmZvL2VjaG8tYXJlYS5jOjMyMCBpbmZvL3Nlc3Npb24uYzo3MzIKbXNnaWQgIk1vdmUgZm9yd2FyZCBhIHdvcmQiCm1zZ3N0ciAiRWluIFdvcnQgdm9yd+RydHMgYmV3ZWdlbiIKCiM6IGluZm8vZWNoby1hcmVhLmM6MzYwIGluZm8vc2Vzc2lvbi5jOjc4MQptc2dpZCAiTW92ZSBiYWNrd2FyZCBhIHdvcmQiCm1zZ3N0ciAiRWluIFdvcnQgcvxja3fkcnRzIGJld2VnZW4iCgojOiBpbmZvL2VjaG8tYXJlYS5jOjQwMAptc2dpZCAiRGVsZXRlIHRoZSBjaGFyYWN0ZXIgdW5kZXIgdGhlIGN1cnNvciIKbXNnc3RyICJEYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIGz2c2NoZW4iCgojIGNoZWNraXQKIzogaW5mby9lY2hvLWFyZWEuYzo0MzAKbXNnaWQgIkRlbGV0ZSB0aGUgY2hhcmFjdGVyIGJlaGluZCB0aGUgY3Vyc29yIgptc2dzdHIgIkRhcyBaZWljaGVuIGhpbnRlciBkZW0gQ3Vyc29yIGz2c2NoZW4iCgojOiBpbmZvL2VjaG8tYXJlYS5jOjQ1MQptc2dpZCAiQ2FuY2VsIG9yIHF1aXQgb3BlcmF0aW9uIgptc2dzdHIgIk9wZXJhdGlvbiBhYmJyZWNoZW4gb2RlciBiZWVuZGVuIgoKIzogaW5mby9lY2hvLWFyZWEuYzo0NjYKbXNnaWQgIkFjY2VwdCAob3IgZm9yY2UgY29tcGxldGlvbiBvZikgdGhpcyBsaW5lIgptc2dzdHIgIkFremVwdGllcmUgZGllc2UgWmVpbGUgKG9kZXIgZXJ6d2luZ2UgaWhyZSBWZXJ2b2xsc3TkbmRpZ3VuZykiCgojOiBpbmZvL2VjaG8tYXJlYS5jOjQ3MQptc2dpZCAiSW5zZXJ0IG5leHQgY2hhcmFjdGVyIHZlcmJhdGltIgptc2dzdHIgIkRhcyBu5GNoc3RlIFplaWNoZW4gd/ZydGxpY2ggZWluZ2ViZW4iCgojOiBpbmZvL2VjaG8tYXJlYS5jOjQ3OQptc2dpZCAiSW5zZXJ0IHRoaXMgY2hhcmFjdGVyIgptc2dzdHIgIkRpZXNlcyBaZWljaGVuIGVpbmdlYmVuIgoKIyBjaGVja2l0CiM6IGluZm8vZWNoby1hcmVhLmM6NDk3Cm1zZ2lkICJJbnNlcnQgYSBUQUIgY2hhcmFjdGVyIgptc2dzdHIgIkVpbiBUQUItWmVpY2hlbiBlaW5nZWJlbiIKCiMuIFRyYW5zcG9zZSB0aGUgY2hhcmFjdGVycyBhdCBwb2ludC4gIElmIHBvaW50IGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsCiMuIHRoZW4gdHJhbnNwb3NlIHRoZSBjaGFyYWN0ZXJzIGJlZm9yZSBwb2ludC4KIzogaW5mby9lY2hvLWFyZWEuYzo1MDQKbXNnaWQgIlRyYW5zcG9zZSBjaGFyYWN0ZXJzIGF0IHBvaW50Igptc2dzdHIgIlplaWNoZW4gYW0gUG9pbnQgdW1zdGVsbGVuIgoKIzogaW5mby9lY2hvLWFyZWEuYzo1NTUKbXNnaWQgIllhbmsgYmFjayB0aGUgY29udGVudHMgb2YgdGhlIGxhc3Qga2lsbCIKbXNnc3RyICJG/GdlIGRlbiBJbmhhbHQgZGVzIGxldHp0ZW4gS2lsbGVucyBlaW4iCgojIElNTyBtdXNzICJraWxsIiBhdWNoIGltIEZvbGdlbmRlbiB39nJ0bGljaCD8cyB3ZXJkZW4gLWtlLQojOiBpbmZvL2VjaG8tYXJlYS5jOjU2Mgptc2dpZCAiS2lsbCByaW5nIGlzIGVtcHR5Igptc2dzdHIgIkRlciBLaWxsLVJpbmcgaXN0IGxlZXIiCgojLiBJZiB0aGUgbGFzdCBjb21tYW5kIHdhcyB5YW5rLCBvciB5YW5rX3BvcCwgYW5kIHRoZSB0ZXh0IGp1c3QgYmVmb3JlCiMuIHBvaW50IGlzIGlkZW50aWNhbCB0byB0aGUgY3VycmVudCBraWxsIGl0ZW0sIHRoZW4gZGVsZXRlIHRoYXQgdGV4dAojLiBmcm9tIHRoZSBsaW5lLCByb3RhdGUgdGhlIGluZGV4IGRvd24sIGFuZCB5YW5rIGJhY2sgc29tZSBvdGhlciB0ZXh0LgojOiBpbmZvL2VjaG8tYXJlYS5jOjU3NQptc2dpZCAiWWFuayBiYWNrIGEgcHJldmlvdXMga2lsbCIKbXNnc3RyICJG/GdlIGVpbiB2b3JhbmdlaGVuZGVzIEtpbGxlbiBlaW4iCgojLiBEZWxldGUgdGhlIHRleHQgZnJvbSBwb2ludCB0byBlbmQgb2YgbGluZS4KIzogaW5mby9lY2hvLWFyZWEuYzo2MDgKbXNnaWQgIktpbGwgdG8gdGhlIGVuZCBvZiB0aGUgbGluZSIKbXNnc3RyICJCaXMgenVtIEVuZGUgZGVyIFplaWxlIGtpbGxlbiIKCiM6IGluZm8vZWNoby1hcmVhLmM6NjIxCm1zZ2lkICJLaWxsIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpbmUiCm1zZ3N0ciAiQmlzIHp1bSBBbmZhbmcgZGVyIFplaWxlIGtpbGxlbiIKCiMuIERlbGV0ZSBmcm9tIHBvaW50IHRvIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgd29yZC4KIzogaW5mby9lY2hvLWFyZWEuYzo2MzMKbXNnaWQgIktpbGwgdGhlIHdvcmQgZm9sbG93aW5nIHRoZSBjdXJzb3IiCm1zZ3N0ciAiRGFzIGRlbSBDdXJzb3IgZm9sZ2VuZGUgV29ydCBraWxsZW4iCgojOiBpbmZvL2VjaG8tYXJlYS5jOjY1Mgptc2dpZCAiS2lsbCB0aGUgd29yZCBwcmVjZWRpbmcgdGhlIGN1cnNvciIKbXNnc3RyICJEYXMgZGVtIEN1cnNvciB2b3JhbmdlaGVuZGUgV29ydCBraWxsZW4iCgojIGNoZWNraXQKIzogaW5mby9lY2hvLWFyZWEuYzo4NzEKbXNnaWQgIk5vdCBjb21wbGV0ZSIKbXNnc3RyICJOaWNodCB2b2xsc3TkbmRpZyIKCiM6IGluZm8vZWNoby1hcmVhLmM6OTE2Cm1zZ2lkICJMaXN0IHBvc3NpYmxlIGNvbXBsZXRpb25zIgptc2dzdHIgIk32Z2xpY2hlIFZlcnZvbGxzdORuZGlndW5nZW4gbGlzdGVuIgoKIzogaW5mby9lY2hvLWFyZWEuYzo5MjkKbXNnaWQgIk5vIGNvbXBsZXRpb25zIgptc2dzdHIgIktlaW5lIFZlcnZvbGxzdORuZGlndW5nZW4iCgojOiBpbmZvL2VjaG8tYXJlYS5jOjkzMwptc2dpZCAiU29sZSBjb21wbGV0aW9uIgptc2dzdHIgIkVpbnppZ2UgVmVydm9sbHN05G5kaWd1bmciCgojOiBpbmZvL2VjaG8tYXJlYS5jOjk0Mgptc2dpZCAiT25lIGNvbXBsZXRpb246XG4iCm1zZ3N0ciAiRWluZSBWZXJ2b2xsc3TkbmRpZ3VuZzpcbiIKCiM6IGluZm8vZWNoby1hcmVhLmM6OTQzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlZCBjb21wbGV0aW9uczpcbiIKbXNnc3RyICIlZCBWZXJ2b2xsc3TkbmRpZ3VuZ2VuOlxuIgoKIzogaW5mby9lY2hvLWFyZWEuYzoxMDg4Cm1zZ2lkICJJbnNlcnQgY29tcGxldGlvbiIKbXNnc3RyICJWZXJ2b2xsc3TkbmRpZ3VuZyBlaW5m/GdlbiIKCiM6IGluZm8vZWNoby1hcmVhLmM6MTIyMQptc2dpZCAiQnVpbGRpbmcgY29tcGxldGlvbnMuLi4iCm1zZ3N0ciAiQmlsZGUgVmVydm9sbHN05G5kaWd1bmdlbi4uLiIKCiMgY2hlY2tpdAojLiBTY3JvbGwgdGhlICJvdGhlciIgd2luZG93LiAgSWYgdGhlcmUgaXMgYSB3aW5kb3cgc2hvd2luZyBjb21wbGV0aW9ucywgc2Nyb2xsCiMuIHRoYXQgb25lLCBvdGhlcndpc2Ugc2Nyb2xsIHRoZSB3aW5kb3cgd2hpY2ggd2FzIGFjdGl2ZSBvbiBlbnRlcmluZyB0aGUgcmVhZAojLiBmdW5jdGlvbi4KIzogaW5mby9lY2hvLWFyZWEuYzoxMzE5Cm1zZ2lkICJTY3JvbGwgdGhlIGNvbXBsZXRpb25zIHdpbmRvdyIKbXNnc3RyICJWZXJ2b2xsc3TkbmRpZ3VuZ3MtRmVuc3RlciC7c2Nyb2xsZW6rIgoKIzogaW5mby9mb290bm90ZXMuYzoyMDYKbXNnaWQgIkZvb3Rub3RlcyBjb3VsZCBub3QgYmUgZGlzcGxheWVkIgptc2dzdHIgIkZ1325vdGVuIGv2bm5lbiBuaWNodCBhbmdlemVpZ3Qgd2VyZGVuIgoKIzogaW5mby9mb290bm90ZXMuYzoyMzIKbXNnaWQgIlNob3cgdGhlIGZvb3Rub3RlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBub2RlIGluIGFub3RoZXIgd2luZG93Igptc2dzdHIgIlplaWdlIGRpZSBtaXQgZGllc2VtIE5vZGUgdmVyYnVuZGVuZW4gRnXfbm90ZW4gaW0gYW5kZXJlbiBGZW5zdGVyIgoKIzogaW5mby9pbmRpY2VzLmM6MTc1Cm1zZ2lkICJMb29rIHVwIGEgc3RyaW5nIGluIHRoZSBpbmRleCBmb3IgdGhpcyBmaWxlIgptc2dzdHIgIlNpZWggZWluZSBaZWljaGVua2V0dGUgaW0gSW5kZXggZGllc2VyIERhdGVpIG5hY2giCgojOiBpbmZvL2luZGljZXMuYzoyMDUKbXNnaWQgIkZpbmRpbmcgaW5kZXggZW50cmllcy4uLiIKbXNnc3RyICJTdWNoZSBJbmRleC1FaW50cuRnZS4uLiIKCiMgY2hlY2tpdAojIG9kZXIgc2luZCAiRWludHLkZ2UiIGdlbWVpbnQ/IC1rZS0KIzogaW5mby9pbmRpY2VzLmM6MjEyCm1zZ2lkICJObyBpbmRpY2VzIGZvdW5kLiIKbXNnc3RyICJLZWluZSBJbmRpY2VzIGdlZnVuZGVuLiIKCiM6IGluZm8vaW5kaWNlcy5jOjIyMgptc2dpZCAiSW5kZXggZW50cnk6ICIKbXNnc3RyICJJbmRleC1FaW50cmFnOiAiCgojOiBpbmZvL2luZGljZXMuYzozMzIKbXNnaWQgIiIKIkdvIHRvIHRoZSBuZXh0IG1hdGNoaW5nIGluZGV4IGl0ZW0gZnJvbSB0aGUgbGFzdCBgXFxbaW5kZXgtc2VhcmNoXScgY29tbWFuZCIKbXNnc3RyICIiCiJHZWggenVtIG7kY2hzdGVuIPxiZXJlaW5zdGltbWVuZGVuIEluZGV4LUVpbnRyYWcgdm9tIGxldHp0ZW4gIgoiu1xcW2luZGV4LXNlYXJjaF2rLUJlZmVobCIKCiM6IGluZm8vaW5kaWNlcy5jOjM0Mgptc2dpZCAiTm8gcHJldmlvdXMgaW5kZXggc2VhcmNoIHN0cmluZy4iCm1zZ3N0ciAiS2VpbmUgdm9yYW5nZWhlbmRlIHp1IHN1Y2hlbmRlIEluZGV4LVplaWNoZW5rZXR0ZS4iCgojOiBpbmZvL2luZGljZXMuYzozNDkKbXNnaWQgIk5vIGluZGV4IGVudHJpZXMuIgptc2dzdHIgIktlaW5lIEluZGV4LUVpbnRy5GdlLiIKCiMgY2hlY2tpdAojIGthbm4gaW0gRGV1dHNjaGVuIG5hY2hnZWJpbGRldCB3ZXJkZW4sIGFiZXIuLi4gLWtlLQojOiBpbmZvL2luZGljZXMuYzozODIKIywgYy1mb3JtYXQKbXNnaWQgIk5vICVzaW5kZXggZW50cmllcyBjb250YWluaW5nIFwiJXNcIi4iCm1zZ3N0ciAiS2VpbmUgJXNJbmRleC1FaW50cuRnZSBiZWluaGFsdGVuILslc6suIgoKIzogaW5mby9pbmRpY2VzLmM6MzgzCm1zZ2lkICJtb3JlICIKbXNnc3RyICJ3ZWl0ZXJlbiAiCgojOiBpbmZvL2luZGljZXMuYzozOTMKbXNnaWQgIkNBTidUIFNFRSBUSElTIgptc2dzdHIgIkRJRVMgSVNUIE5JQ0hUIFpVIFNFSEVOIgoKIzogaW5mby9pbmRpY2VzLmM6NDI5CiMsIGMtZm9ybWF0Cm1zZ2lkICJGb3VuZCBcIiVzXCIgaW4gJXMuIChgXFxbbmV4dC1pbmRleC1tYXRjaF0nIHRyaWVzIHRvIGZpbmQgbmV4dC4pIgptc2dzdHIgIiIKIrslc6sgaW4gJXMgZ2VmdW5kZW4uICi7XFxbbmV4dC1pbmRleC1tYXRjaF2rIHZlcnN1Y2h0IG7kY2hzdGVuIEVpbnRyYWcgenUgIgoiZmluZGVuLikiCgojOiBpbmZvL2luZGljZXMuYzo1MzMKIywgYy1mb3JtYXQKbXNnaWQgIlNjYW5uaW5nIGluZGljZXMgb2YgXCIlc1wiLi4uIgptc2dzdHIgIkluZGV4IHZvbiC7JXOrIHdpcmQgZHVyY2hzdWNodC4uLiIKCiM6IGluZm8vaW5kaWNlcy5jOjYxNgptc2dpZCAiR3JvdmVsIGFsbCBrbm93biBpbmZvIGZpbGUncyBpbmRpY2VzIGZvciBhIHN0cmluZyBhbmQgYnVpbGQgYSBtZW51Igptc2dzdHIgIiIKIkR1cmNoc3VjaGUgZHVyY2ggYWxsZSBiZWthbm50ZW4gSW5mby1EYXRlaS1JbmRpY2VzIG5hY2ggZWluZXIgWmVpY2hlbmtldHRlICIKInVuZCBiaWxkZSBlaW4gTWVu/CIKCiM6IGluZm8vaW5kaWNlcy5jOjYyMAptc2dpZCAiSW5kZXggYXByb3BvczogIgptc2dzdHIgIkluZGV4IGFwcm9wb3M6ICIKCiM6IGluZm8vaW5kaWNlcy5jOjY1MAojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIqIE1lbnU6IE5vZGVzIHdob3NlcyBpbmRpY2VzIGNvbnRhaW4gXCIlc1wiOlxuIgptc2dzdHIgIiIKIlxuIgoiKiBNZW78OiBOb2RlcywgZGVyZW4gSW5kaWNlcyC7JXOrIGJlaW5oYWx0ZW46XG4iCgojOiBpbmZvL2luZm8uYzoyMTIKbXNnaWQgIlRyeSAtLWhlbHAgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgptc2dzdHIgIrstLWhlbHCrIGdpYnQgd2VpdGVyZSBJbmZvcm1hdGlvbmVuLiIKCiMgSGllciBkZS1TdGFuZGFyZC1Gb3JtdWxpZXJ1bmcgZWluc2V0emVuIQojOiBpbmZvL2luZm8uYzoyMzEgbWFrZWluZm8vbWFrZWluZm8uYzoxMDg5IHV0aWwvaW5zdGFsbC1pbmZvLmM6NTMwCiM6IHV0aWwvdGV4aW5kZXguYzozMzgKIywgYy1mb3JtYXQKbXNnaWQgIiIKIkNvcHlyaWdodCAoQykgJXMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCiJUaGVyZSBpcyBOTyB3YXJyYW50eS4gIFlvdSBtYXkgcmVkaXN0cmlidXRlIHRoaXMgc29mdHdhcmVcbiIKInVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuXG4iCiJGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtYXR0ZXJzLCBzZWUgdGhlIGZpbGVzIG5hbWVkIENPUFlJTkcuXG4iCm1zZ3N0ciAiIgoiQ29weXJpZ2h0IKkgJXMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCiJEaWVzIGlzdCBmcmVpZSBTb2Z0d2FyZTsgaW4gZGVuIFF1ZWxsZW4gYmVmaW5kZXQgc2ljaCBkaWUgTGl6ZW56LSB1bmRcbiIKIktvcGllcmJlZGluZ3VuZy4gIEVzIGdpYnQgS0VJTkVSTEVJIEdhcmFudGllLCBuaWNodCBlaW5tYWwgZvxyIGRpZVxuIgoiVEFVR0xJQ0hLRUlUIG9kZXIgZGllIFZFUldFTkRCQVJLRUlUIFpVIEVJTkVNIEFOR0VHRUJFTkVOIFpXRUNLLlxuIgoKIzogaW5mby9pbmZvLmM6MzYzCm1zZ2lkICJubyBlbnRyaWVzIGZvdW5kXG4iCm1zZ3N0ciAiS2VpbmUgRWludHLkZ2UgZ2VmdW5kZW5cbiIKCiM6IGluZm8vaW5mby5jOjQwNgptc2dpZCAiVGhlcmUgaXMgbm8gbWVudSBpbiB0aGlzIG5vZGUuIgptc2dzdHIgIkVzIGdpYnQga2VpbiBNZW78IGluIGRpZXNlbSBOb2RlLiIKCiM6IGluZm8vaW5mby5jOjQzNwojLCBjLWZvcm1hdAptc2dpZCAiVGhlcmUgaXMgbm8gbWVudSBpdGVtIFwiJXNcIiBpbiB0aGlzIG5vZGUuIgptc2dzdHIgIkVzIGdpYnQga2VpbmVuIE1lbvxwdW5rdCC7JXOrIGluIGRpZXNlbSBOb2RlLiIKCiM6IGluZm8vaW5mby5jOjUwMQojLCBjLWZvcm1hdAptc2dpZCAiVW5hYmxlIHRvIGZpbmQgdGhlIG5vZGUgcmVmZXJlbmNlZCBieSBcIiVzXCIuIgptc2dzdHIgIkthbm4ga2VpbmVuIHZvbiC7JXOrIHJlZmVyZW56aWVydGVuIE5vZGUgZmluZGVuLiIKCiM6IGluZm8vaW5mby5jOjYwMgojLCBjLWZvcm1hdAptc2dpZCAiIgoiVXNhZ2U6ICVzIFtPUFRJT05dLi4uIFtJTkZPLUZJTEUgW01FTlUtSVRFTS4uLl1dXG4iCiJcbiIKIlJlYWQgZG9jdW1lbnRhdGlvbiBpbiBJbmZvIGZvcm1hdC5cbiIKIkZvciBtb3JlIGNvbXBsZXRlIGRvY3VtZW50YXRpb24gb24gaG93IHRvIHVzZSBJbmZvLCBydW4gYGluZm8gaW5mbyAiCiJvcHRpb25zJy5cbiIKIlxuIgoiT3B0aW9uczpcbiIKIi0tZGlyZWN0b3J5IERJUiAgICAgICAgICAgICAgYWRkIERJUiB0byBJTkZPUEFUSC5cbiIKIi0tZHJpYmJsZSBGSUxFTkFNRSAgICAgICAgICAgcmVtZW1iZXIgdXNlciBrZXlzdHJva2VzIGluIEZJTEVOQU1FLlxuIgoiLS1maWxlIEZJTEVOQU1FICAgICAgICAgICAgICBzcGVjaWZ5IEluZm8gZmlsZSB0byB2aXNpdC5cbiIKIi0tbm9kZSBOT0RFTkFNRSAgICAgICAgICAgICAgc3BlY2lmeSBub2RlcyBpbiBmaXJzdCB2aXNpdGVkIEluZm8gZmlsZS5cbiIKIi0tb3V0cHV0IEZJTEVOQU1FICAgICAgICAgICAgb3V0cHV0IHNlbGVjdGVkIG5vZGVzIHRvIEZJTEVOQU1FLlxuIgoiLS1yZXN0b3JlIEZJTEVOQU1FICAgICAgICAgICByZWFkIGluaXRpYWwga2V5c3Ryb2tlcyBmcm9tIEZJTEVOQU1FLlxuIgoiLS1zdWJub2RlcyAgICAgICAgICAgICAgICAgICByZWN1cnNpdmVseSBvdXRwdXQgbWVudSBpdGVtcy5cbiIKIi0taGVscCAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXQuXG4iCiItLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC5cbiIKIlxuIgoiVGhlIGZpcnN0IGFyZ3VtZW50LCBpZiBwcmVzZW50LCBpcyB0aGUgbmFtZSBvZiB0aGUgSW5mbyBmaWxlIHRvIHJlYWQuXG4iCiJBbnkgcmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgdHJlYXRlZCBhcyB0aGUgbmFtZXMgb2YgbWVudVxuIgoiaXRlbXMgaW4gdGhlIGluaXRpYWwgbm9kZSB2aXNpdGVkLiAgRm9yIGV4YW1wbGUsIGBpbmZvIGVtYWNzIGJ1ZmZlcnMnXG4iCiJtb3ZlcyB0byB0aGUgbm9kZSBgYnVmZmVycycgaW4gdGhlIGluZm8gZmlsZSBgZW1hY3MnLlxuIgoiXG4iCiJFbWFpbCBidWcgcmVwb3J0cyB0byBidWctdGV4aW5mb0BnbnUub3JnLiIKbXNnc3RyICIiCiJTeW50YXg6ICVzIFtPUFRJT05dLi4uIFtJTkZPLURBVEVJIFtNRU5VLUVJTlRSQUcuLi5dXVxuIgoiXG4iCiJVbSBEb2t1bWVudGF0aW9uIHp1IGxlc2VuLCBkaWUgaW0gSW5mby1Gb3JtYXQgdm9ybGllZ3QuXG4iCiJG/HIgZWluZSBhdXNm/GhybGljaGVyZSBBbmxlaXR1bmcsIHdpZSBJbmZvIHp1IGJlbnV0emVuIGlzdCwgu2luZm8gaW5mb1xuIgoib3B0aW9uc6sgZWluZ2ViZW4uXG4iCiJcbiIKIk9wdGlvbmVuOlxuIgoiICAtLWRpcmVjdG9yeSBWRVJaICAgIFZFUlogenUgSU5GT1BBVEggaGluenVm/GdlblxuIgoiICAtLWRyaWJibGUgREFURUkgICAgIFRhc3RlbmVpbmdhYmVuIGRlcyBCZW51dHplcnMgaW4gREFURUkgbWVya2VuXG4iCiIgIC0tZmlsZSBEQVRFSSAgICAgICAgenUgYmVzdWNoZW5kZSBJbmZvLURBVEVJIGFuZ2ViZW5cbiIKIiAgLS1ub2RlIEtOT1RFTiAgICAgICBLbm90ZW4gaW4gZGVyIGVyc3RlbiB6dSBiZXN1Y2hlbmRlbiBJbmZvLURhdGVpICIKImFuZ2ViZW5cbiIKIiAgLS1vdXRwdXQgREFURUkgICAgICBhdXNnZXfkaGx0ZSBLbm90ZW4gbmFjaCBEQVRFSSBhdXNnZWJlblxuIgoiICAtLXJlc3RvcmUgREFURUkgICAgIGRpZSBiZWdpbm5lbmRlbiBUYXN0ZW5laW5nYWJlbiB2b24gREFURUkgbGVzZW5cbiIKIiAgLS1zdWJub2RlcyAgICAgICAgICBNZW78cHVua3RlIHJla3Vyc2l2IGF1c2dlYmVuXG4iCiIgIC0taGVscCAgICAgICAgICAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW5cbiIKIiAgLS12ZXJzaW9uICAgICAgICAgICBQcm9ncmFtbXZlcnNpb24gYW56ZWlnZW5cbiIKIlxuIgoiVmVyYmxlaWJlbmRlIFBhcmFtZXRlciB3ZXJkZW4gYWxzIE5hbWVuIHZvbiBNZW78cHVua3RlbiBkZXMgenVlcnN0ICIKImJlc3VjaHRlblxuIgoiS25vdGVucyBhbmdlc2VoZW4uICBNYW4ga2FubiBzaWNoIGVpbmZhY2ggenVtIGdld/xuc2NodGVuIEtub3RlbiBiZXdlZ2VuLFxuIgoiaW5kZW0gbWFuIGRpZSBOYW1lbiBkZXIgTWVu/HB1bmt0ZSBhbmdpYnQsIGRpZSBkZW4gV2VnIGRvcnRoaW4gYmV6ZWljaG5lbjtcbiIKInouIEIuILtpbmZvIGVtYWNzIGJ1ZmZlcnOrLlxuIgoiXG4iCiJGZWhsZXIgKFwiYnVnc1wiKSBiaXR0ZSBhbiA8YnVnLXRleGluZm9AZ251Lm9yZz4gbWVsZGVuLjxcbiIKIlxuIgoiRvxyIGRpZSBkZXV0c2NoZSDcYmVyc2V0enVuZyBpc3QgZGllIE1haWxpbmdsaXN0ZSA8ZGVAbGkub3JnPiB6dXN05G5kaWcuIgoKIzogaW5mby9pbmZvZG9jLmM6NTAKbXNnaWQgIkJhc2ljIENvbW1hbmRzIGluIEluZm8gV2luZG93cyIKbXNnc3RyICJHcnVuZGJlZmVobGUgaW4gSW5mby1GZW5zdGVybiIKCiM6IGluZm8vaW5mb2RvYy5jOjIxMQptc2dpZCAiIgoiVGhlIGZvbGxvd2luZyBjb21tYW5kcyBjYW4gb25seSBiZSBpbnZva2VkIHZpYSBNLXg6XG4iCiJcbiIKbXNnc3RyICJEaWUgZm9sZ2VuZGVuIEJlZmVobGUga/ZubmVuIG51ciB2aWEgTS14IGF1ZmdlcnVmZW4gd2VyZGVuOlxuIgoKIzogaW5mby9pbmZvZG9jLmM6MjI4Cm1zZ2lkICItLS0gVXNlIGBcXFtoaXN0b3J5LW5vZGVdJyBvciBgXFxba2lsbC1ub2RlXScgdG8gZXhpdCAtLS1cbiIKbXNnc3RyICIiCiItLS0gu1xcW2hpc3Rvcnktbm9kZV2rIG9kZXIgu1xcW2tpbGwtbm9kZV2rIGJlbnV0emVuLCB1bSB6dSBiZWVuZGVuIC0tLVxuIgoKIy4gQ3JlYXRlIG9yIG1vdmUgdG8gdGhlIGhlbHAgd2luZG93LgojOiBpbmZvL2luZm9kb2MuYzozMjgKbXNnaWQgIkRpc3BsYXkgaGVscCBtZXNzYWdlIgptc2dzdHIgIkRpZXNlbiBIaWxmZS1UZXh0IGFuemVpZ2VuIgoKIy4gU2hvdyB0aGUgSW5mbyBoZWxwIG5vZGUuICBUaGlzIG1lYW5zIHRoYXQgdGhlICJpbmZvIiBmaWxlIGlzIGluc3RhbGxlZAojLiB3aGVyZSBpdCBjYW4gZWFzaWx5IGJlIGZvdW5kIG9uIHlvdXIgc3lzdGVtLgojOiBpbmZvL2luZm9kb2MuYzozNDYKbXNnaWQgIlZpc2l0IEluZm8gbm9kZSBgKGluZm8pSGVscCciCm1zZ3N0ciAiSW5mby1Ob2RlILsoaW5mbylIZWxwqyBiZXN1Y2hlbiIKCiM6IGluZm8vaW5mb2RvYy5jOjQ3MAptc2dpZCAiUHJpbnQgZG9jdW1lbnRhdGlvbiBmb3IgS0VZIgptc2dzdHIgIkRva3VtZW50YXRpb24gZvxyIEtFWSBhdXNnZWJlbiIKCiM6IGluZm8vaW5mb2RvYy5jOjQ4MwojLCBjLWZvcm1hdAptc2dpZCAiRGVzY3JpYmUga2V5OiAlcyIKbXNnc3RyICJCZXNjaHJlaWJlIFRhc3RlOiAlcyIKCiM6IGluZm8vaW5mb2RvYy5jOjQ5MgojLCBjLWZvcm1hdAptc2dpZCAiRVNDICVzIGlzIHVuZGVmaW5lZC4iCm1zZ3N0ciAiRVNDICVzIGlzdCBuaWNodCBkZWZpbmllcnQuIgoKIzogaW5mby9pbmZvZG9jLmM6NTA5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBpcyB1bmRlZmluZWQuIgptc2dzdHIgIiVzIGlzdCBuaWNodCBkZWZpbmllcnQuIgoKIzogaW5mby9pbmZvZG9jLmM6NTM1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBpcyBkZWZpbmVkIHRvICVzLiIKbXNnc3RyICIlcyBpc3QgZGVmaW5pZXJ0IGFscyAlcy4iCgojOiBpbmZvL2luZm9kb2MuYzo3MzEKbXNnaWQgIldoZXJlIGlzIGNvbW1hbmQ6ICIKbXNnc3RyICJXbyBpc3QgZGVyIEJlZmVobDogIgoKIzogaW5mby9pbmZvZG9jLmM6NzUzCiMsIGMtZm9ybWF0Cm1zZ2lkICJgJXMnIGlzIG5vdCBvbiBhbnkga2V5cyIKbXNnc3RyICK7JXOrIGxpZWd0IGF1ZiBrZWluZXIgVGFzdGUiCgojOiBpbmZvL2luZm9kb2MuYzo3NTkKIywgYy1mb3JtYXQKbXNnaWQgIiVzIGNhbiBvbmx5IGJlIGludm9rZWQgdmlhICVzLiIKbXNnc3RyICIlcyBrYW5uIG51ciB2aWEgJXMgYXVmZ2VydWZlbiB3ZXJkZW4uIgoKIzogaW5mby9pbmZvZG9jLmM6NzYyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBjYW4gYmUgaW52b2tlZCB2aWEgJXMuIgptc2dzdHIgIiVzIGthbm4gdmlhICVzIGF1ZmdlcnVmZW4gd2VyZGVuLiIKCiM6IGluZm8vaW5mb2RvYy5jOjc2NgojLCBjLWZvcm1hdAptc2dpZCAiVGhlcmUgaXMgbm8gZnVuY3Rpb24gbmFtZWQgYCVzJyIKbXNnc3RyICJFcyBnaWJ0IGtlaW5lIEZ1bmt0aW9uIG1pdCBOYW1lbiC7JXOrIgoKIzogaW5mby9tLXguYzo2OQptc2dpZCAiUmVhZCB0aGUgbmFtZSBvZiBhbiBJbmZvIGNvbW1hbmQgYW5kIGRlc2NyaWJlIGl0Igptc2dzdHIgIkxlc2UgZGVuIE5hbWVuIGVpbmVzIEluZm8tQmVmZWhscyB1bmQgYmVzY2hyZWliZSBpaG4iCgojOiBpbmZvL20teC5jOjczCm1zZ2lkICJEZXNjcmliZSBjb21tYW5kOiAiCm1zZ3N0ciAiQmVzY2hyZWliZSBkZW4gQmVmZWhsOiAiCgojOiBpbmZvL20teC5jOjk2Cm1zZ2lkICJSZWFkIGEgY29tbWFuZCBuYW1lIGluIHRoZSBlY2hvIGFyZWEgYW5kIGV4ZWN1dGUgaXQiCm1zZ3N0ciAiTGllcyBlaW5lbiBCZWZlaGxzbmFtZW4gaW4gZGVyILtFY2hvLUFyZWGrIHVuZCBm/GhyZSBpaG4gYXVzIgoKIzogaW5mby9tLXguYzoxMzQKbXNnaWQgIkNhbm5vdCBleGVjdXRlIGFuIGBlY2hvLWFyZWEnIGNvbW1hbmQgaGVyZS4iCm1zZ3N0ciAiS2FubiBoaWVyIGtlaW5lbiC7ZWNoby1hcmVhqy1CZWZlaGwgYXVzZvxocmVuLiIKCiM6IGluZm8vbS14LmM6MTUwCm1zZ2lkICJTZXQgdGhlIGhlaWdodCBvZiB0aGUgZGlzcGxheWVkIHdpbmRvdyIKbXNnc3RyICJTZXR6ZSBkaWUgSPZoZSBkZXMgYW5nZXplaWd0ZW4gRmVuc3RlcnMiCgojIGNoZWNraXQKIzogaW5mby9tLXguYzoxNjMKIywgYy1mb3JtYXQKbXNnaWQgIlNldCBzY3JlZW4gaGVpZ2h0IHRvICglZCk6ICIKbXNnc3RyICJCaWxkc2NoaXJtLUj2aGUgYXVmICglZCkgc2V0emVuOiAiCgojIGNoZWNraXQKIzogaW5mby9tYWtlZG9jLmM6MTI2Cm1zZ2lkICIiCiIgICBTb3VyY2UgZmlsZXMgZ3JvdmVsZWQgdG8gbWFrZSB0aGlzIGZpbGUgaW5jbHVkZTpcbiIKIlxuIgptc2dzdHIgIiIKIiAgIFF1ZWxsZGF0ZWkgXCJncm92ZWxlZFwiLCBkYW1pdCBkaWVzZSBEYXRlaSBlbnRo5Gx0OlxuIgoiXG4iCgojOiBpbmZvL21ha2Vkb2MuYzo0NTAKIywgYy1mb3JtYXQKbXNnaWQgIkNvdWxkbid0IG1hbmlwdWxhdGUgdGhlIGZpbGUgJXMuXG4iCm1zZ3N0ciAiRGF0ZWkguyVzqyBpc3QgbmljaHQgenUgdmVy5G5kZXJuLlxuIgoKIzogaW5mby9ub2RlbWVudS5jOjI4Cm1zZ2lkICIiCiJcbiIKIiogTWVudTpcbiIKIiAgKEZpbGUpTm9kZSAgICAgICAgICAgICAgICAgICAgICAgIExpbmVzICAgU2l6ZSAgIENvbnRhaW5pbmcgRmlsZVxuIgoiICAtLS0tLS0tLS0tICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0gICAtLS0tICAgLS0tLS0tLS0tLS0tLS0tIgptc2dzdHIgIiIKIlxuIgoiKiBNZW78OlxuIgoiICAoRGF0ZWkpS25vdGVuICAgICAgICAgICAgICAgICAgICAgWmVpbGVuICBHcvbfZSAgQmVpbmhhbHRldCBEYXRlaVxuIgoiICAtLS0tLS0tLS0tLS0tICAgICAgICAgICAgICAgICAgICAgLS0tLS0tICAtLS0tLSAgLS0tLS0tLS0tLS0tLS0tLSIKCiM6IGluZm8vbm9kZW1lbnUuYzoxOTcKbXNnaWQgIiIKIkhlcmUgaXMgdGhlIG1lbnUgb2Ygbm9kZXMgeW91IGhhdmUgcmVjZW50bHkgdmlzaXRlZC5cbiIKIlNlbGVjdCBvbmUgZnJvbSB0aGlzIG1lbnUsIG9yIHVzZSBgXFxbaGlzdG9yeS1ub2RlXScgaW4gYW5vdGhlciB3aW5kb3cuXG4iCm1zZ3N0ciAiIgoiSGllciBpc3QgZGFzIE1lbvwgZGVyIEtub3RlbiwgZGllIHp1ZXR6dCBiZXN1Y2h0IHd1cmRlbi5cbiIKIkVpbmVuIHZvbiBkaWVzZW0gTWVu/CBhdXN35GhsZW4gb2RlciC7XFxbaGlzdG9yeS1ub2RlXasgaW0gYW5kZXJlbiBGZW5zdGVyXG4iCiJiZW51dHplbi5cbiIKCiM6IGluZm8vbm9kZW1lbnUuYzoyMTcKbXNnaWQgIk1ha2UgYSB3aW5kb3cgY29udGFpbmluZyBhIG1lbnUgb2YgYWxsIG9mIHRoZSBjdXJyZW50bHkgdmlzaXRlZCBub2RlcyIKbXNnc3RyICIiCiJWZXJhbmxhc3NlbiwgZGFzcyBlaW4gRmVuc3RlciBlaW4gTWVu/CBhbGxlciBha3R1ZWxsIGJlc3VjaHRlbiBLbm90ZW4gZW50aORsdCIKCiM6IGluZm8vbm9kZW1lbnUuYzoyOTcKbXNnaWQgIlNlbGVjdCBhIG5vZGUgd2hpY2ggaGFzIGJlZW4gcHJldmlvdXNseSB2aXNpdGVkIGluIGEgdmlzaWJsZSB3aW5kb3ciCm1zZ3N0ciAiIgoiRWluZW4gS25vdGVuIGF1c3fkaGxlbiwgZGVyIHp1dm9yIGluIGVpbmVtIHNpY2h0YmFyZW4gRmVuc3RlciBiZXN1Y2h0IHd1cmRlIgoKIzogaW5mby9ub2RlbWVudS5jOjMwOQptc2dpZCAiU2VsZWN0IHZpc2l0ZWQgbm9kZTogIgptc2dzdHIgIkJlc3VjaHRlbiBLbm90ZW4gYXVzd+RobGVuOiAiCgojOiBpbmZvL25vZGVtZW51LmM6MzI5IGluZm8vc2Vzc2lvbi5jOjE5OTYKIywgYy1mb3JtYXQKbXNnaWQgIlRoZSByZWZlcmVuY2UgZGlzYXBwZWFyZWQhICglcykuIgptc2dzdHIgIkRlciBWZXJ3ZWlzcHVua3QgaXN0IHZlcnNjaHd1bmRlbiEgKCVzKS4iCgojOiBpbmZvL3Nlc3Npb24uYzoxNjIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIldlbGNvbWUgdG8gSW5mbyB2ZXJzaW9uICVzLiBcIlxcW2dldC1oZWxwLXdpbmRvd11cIiBmb3IgaGVscCwgIgoiXCJcXFttZW51LWl0ZW1dXCIgZm9yIG1lbnUgaXRlbS4iCm1zZ3N0ciAiIgoiV2lsbGtvbW1lbiBiZWkgSW5mbyBWZXJzaW9uICVzLiBcIlxcW2dldC1oZWxwLXdpbmRvd11cIiB1bSBIaWxmZSB6dSAiCiJiZWtvbW1lbixcbiIKIm1pdCBcIlxcW21lbnUtaXRlbV1cIiBNZW78cHVua3QgYW56ZWlnZW4uIgoKIy4gTW92ZSBXSU5ET1cncyBwb2ludCBkb3duIHRvIHRoZSBuZXh0IGxpbmUgaWYgcG9zc2libGUuCiM6IGluZm8vc2Vzc2lvbi5jOjYyOQptc2dpZCAiTW92ZSBkb3duIHRvIHRoZSBuZXh0IGxpbmUiCm1zZ3N0ciAiRWluZSBaZWlsZSBuYWNoIHVudGVuIGJld2VnZW4iCgojLiBNb3ZlIFdJTkRPVydzIHBvaW50IHVwIHRvIHRoZSBwcmV2aW91cyBsaW5lIGlmIHBvc3NpYmxlLgojOiBpbmZvL3Nlc3Npb24uYzo2NDQKbXNnaWQgIk1vdmUgdXAgdG8gdGhlIHByZXZpb3VzIGxpbmUiCm1zZ3N0ciAiRWluZSBaZWlsZSBuYWNoIG9iZW4gYmV3ZWdlbiIKCiMuIE1vdmUgV0lORE9XJ3MgcG9pbnQgdG8gdGhlIGVuZCBvZiB0aGUgdHJ1ZSBsaW5lLgojOiBpbmZvL3Nlc3Npb24uYzo2NTkKbXNnaWQgIk1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgbGluZSIKbXNnc3RyICJadW0gRW5kZSBkaWVzZXIgWmVpbGUgYmV3ZWdlbiIKCiMuIE1vdmUgV0lORE9XJ3MgcG9pbnQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgdHJ1ZSBsaW5lLgojOiBpbmZvL3Nlc3Npb24uYzo2NzkKbXNnaWQgIk1vdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIgptc2dzdHIgIlp1bSBBbmZhbmcgZGVyIFplaWxlIGJld2VnZW4iCgojOiBpbmZvL3Nlc3Npb24uYzo4NTUKbXNnaWQgIiB0aW1lcyIKbXNnc3RyICJtYWwiCgojOiBpbmZvL3Nlc3Npb24uYzo4NTcKIywgYy1mb3JtYXQKbXNnaWQgIiVkIHRpbWVzIgptc2dzdHIgIiVkIG1hbCIKCiM6IGluZm8vc2Vzc2lvbi5jOjg5NQptc2dpZCAiTm8gXCJOZXh0XCIgcG9pbnRlciBmb3IgdGhpcyBub2RlLiIKbXNnc3RyICJLZWluILtOZXh0qy1WZXJ3ZWlzIGJlaSBkaWVzZW0gS25vdGVuLiIKCiM6IGluZm8vc2Vzc2lvbi5jOjg5OAptc2dpZCAiRm9sbG93aW5nIFwiTmV4dFwiIG5vZGUuLi4iCm1zZ3N0ciAiu05leHSrLUtub3RlbiBmb2xnZW5kLi4uIgoKIyBjaGVja2l0CiMg/HM/IC1rZS0KIzogaW5mby9zZXNzaW9uLmM6ODk5IGluZm8vc2Vzc2lvbi5jOjkyNyBpbmZvL3Nlc3Npb24uYzo5OTkKIzogaW5mby9zZXNzaW9uLmM6MTcxNwptc2dpZCAiTmV4dCIKbXNnc3RyICIiCgojOiBpbmZvL3Nlc3Npb24uYzo5MTUKbXNnaWQgIlNlbGVjdGluZyBmaXJzdCBtZW51IGl0ZW0uLi4iCm1zZ3N0ciAiRXJzdGVuIE1lbvxwdW5rdCBhdXN35GhsZW4uLi4iCgojIGNoZWNraXQKIzogaW5mby9zZXNzaW9uLmM6OTI2Cm1zZ2lkICJTZWxlY3RpbmcgXCJOZXh0XCIgbm9kZS4uLiIKbXNnc3RyICJEZW4gS25vdGVuIFwiTmV4dFwiIGF1c3fkaGxlbi4uLiIKCiMgY2hlY2tpdAojIPxzPyAta2UtCiM6IGluZm8vc2Vzc2lvbi5jOjk1MCBpbmZvL3Nlc3Npb24uYzoxMDYzIGluZm8vc2Vzc2lvbi5jOjE3MzMKbXNnaWQgIlVwIgptc2dzdHIgIiIKCiM6IGluZm8vc2Vzc2lvbi5jOjEwMjAKbXNnaWQgIk5vIG1vcmUgbm9kZXMuIgptc2dzdHIgIktlaW5lIFwiTm9kZXNcIiBtZWhyIgoKIzogaW5mby9zZXNzaW9uLmM6MTA0NAptc2dpZCAiTm8gXCJQcmV2XCIgZm9yIHRoaXMgbm9kZS4iCm1zZ3N0ciAiS2VpbiC7UHJldqsgYmVpIGRpZXNlbSBLbm90ZW4uIgoKIyBjaGVja2l0CiMuIE1vdmUgdG8gdGhlIHByZXZpb3VzIG5vZGUuICBJZiB0aGlzIG5vZGUgbm93IGNvbnRhaW5zIGEgbWVudSwKIy4gYW5kIHdlIGhhdmUgbm90IGluaGliaXRlZCBtb3ZlbWVudCB0byBpdCwgbW92ZSB0byB0aGUgbm9kZQojLiBjb3JyZXNwb25kaW5nIHRvIHRoZSBsYXN0IG1lbnUgaXRlbS4KIzogaW5mby9zZXNzaW9uLmM6MTA0NyBpbmZvL3Nlc3Npb24uYzoxMTAwCm1zZ2lkICJNb3ZpbmcgXCJQcmV2XCIgaW4gdGhpcyB3aW5kb3cuIgptc2dzdHIgIk5hY2ggu1ByZXarIGluIGRpZXNlbSBGZW5zdGVyIGJld2VnZW4uIgoKIyBjaGVja2l0CiMg/HM/IC1rZS0KIzogaW5mby9zZXNzaW9uLmM6MTA0OCBpbmZvL3Nlc3Npb24uYzoxMTAxIGluZm8vc2Vzc2lvbi5jOjE3MjUKbXNnaWQgIlByZXYiCm1zZ3N0ciAiIgoKIzogaW5mby9zZXNzaW9uLmM6MTA1OQptc2dpZCAiTm8gXCJQcmV2XCIgb3IgXCJVcFwiIGZvciB0aGlzIG5vZGUuIgptc2dzdHIgIktlaW4gu1ByZXarIG9kZXIgu1VwqyBiZWkgZGllc2VtIEtub3Rlbi4iCgojOiBpbmZvL3Nlc3Npb24uYzoxMDYyCm1zZ2lkICJNb3ZpbmcgXCJVcFwiIGluIHRoaXMgd2luZG93LiIKbXNnc3RyICJOYWNoILtVcKsgaW4gZGllc2VtIEZlbnN0ZXIgYmV3ZWdlbi4iCgojOiBpbmZvL3Nlc3Npb24uYzoxMTEwCm1zZ2lkICJNb3ZpbmcgdG8gXCJQcmV2XCIncyBsYXN0IG1lbnUgaXRlbS4iCm1zZ3N0ciAiTmFjaCBkZW0gbGV0enRlbiBNZW78cHVua3Qgdm9uILtQcmV2qyBiZXdlZ2VuLiIKCiM6IGluZm8vc2Vzc2lvbi5jOjExMjEKbXNnaWQgIk1vdmUgZm9yd2FyZHMgb3IgZG93biB0aHJvdWdoIG5vZGUgc3RydWN0dXJlIgptc2dzdHIgIlZvcnfkcnRzIG9kZXIgYWJ35HJ0cyBkdXJjaCBkaWUgS25vdGVuc3RydWt0dXIgYmV3ZWdlbiIKCiM6IGluZm8vc2Vzc2lvbi5jOjExMzcKbXNnaWQgIk1vdmUgYmFja3dhcmRzIG9yIHVwIHRocm91Z2ggbm9kZSBzdHJ1Y3R1cmUiCm1zZ3N0ciAiWnVy/GNrIG9kZXIgYXVmd+RydHMgZHVyY2ggZGllIEtub3RlbnN0cnVrdHVyIGJld2VnZW4iCgojLiBTaG93IHRoZSBuZXh0IHNjcmVlbiBvZiBXSU5ET1cncyBub2RlLgojOiBpbmZvL3Nlc3Npb24uYzoxMTUyCm1zZ2lkICJTY3JvbGwgZm9yd2FyZCBpbiB0aGlzIHdpbmRvdyIKbXNnc3RyICJJbiBkaWVzZW0gRmVuc3RlciB2b3J35HJ0cyC7c2Nyb2xsZW6rIgoKIy4gU2hvdyB0aGUgcHJldmlvdXMgc2NyZWVuIG9mIFdJTkRPVydzIG5vZGUuCiM6IGluZm8vc2Vzc2lvbi5jOjExOTcKbXNnaWQgIlNjcm9sbCBiYWNrd2FyZCBpbiB0aGlzIHdpbmRvdyIKbXNnc3RyICJJbiBkaWVzZW0gRmVuc3RlciBy/GNrd+RydHMgu3Njcm9sbGVuqyIKCiMuIE1vdmUgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbm9kZS4KIzogaW5mby9zZXNzaW9uLmM6MTIzNwptc2dpZCAiTW92ZSB0byB0aGUgc3RhcnQgb2YgdGhpcyBub2RlIgptc2dzdHIgIlp1bSBBbmZhbmcgZGllc2VzIEtub3RlbnMgYmV3ZWdlbiIKCiMuIE1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgbm9kZS4KIzogaW5mby9zZXNzaW9uLmM6MTI0NAptc2dpZCAiTW92ZSB0byB0aGUgZW5kIG9mIHRoaXMgbm9kZSIKbXNnc3RyICJadW0gRW5kZSBkaWVzZXMgS25vdGVucyBiZXdlZ2VuIgoKIy4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgojLgojLiBDb21tYW5kcyBmb3IgTWFuaXB1bGF0aW5nIFdpbmRvd3MKIy4KIy4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgojLiBNYWtlIHRoZSBuZXh0IHdpbmRvdyBpbiB0aGUgY2hhaW4gYmUgdGhlIGFjdGl2ZSB3aW5kb3cuCiM6IGluZm8vc2Vzc2lvbi5jOjEyNTcKbXNnaWQgIlNlbGVjdCB0aGUgbmV4dCB3aW5kb3ciCm1zZ3N0ciAiRGFzIG7kY2hzdGUgRmVuc3RlciBhdXN35GhsZW4iCgojLiBNYWtlIHRoZSBwcmV2aW91cyB3aW5kb3cgaW4gdGhlIGNoYWluIGJlIHRoZSBhY3RpdmUgd2luZG93LgojOiBpbmZvL3Nlc3Npb24uYzoxMjk2Cm1zZ2lkICJTZWxlY3QgdGhlIHByZXZpb3VzIHdpbmRvdyIKbXNnc3RyICJEYXMgdm9yaWdlIEZlbnN0ZXIgYXVzd+RobGVuIgoKIy4gU3BsaXQgV0lORE9XIGludG8gdHdvIHdpbmRvd3MsIGJvdGggc2hvd2luZyB0aGUgc2FtZSBub2RlLiAgSWYgd2UKIy4gYXJlIGF1dG9tYXRpY2FsbHkgdGlsaW5nIHdpbmRvd3MsIHJlLXRpbGUgYWZ0ZXIgdGhlIHNwbGl0LgojOiBpbmZvL3Nlc3Npb24uYzoxMzQ3Cm1zZ2lkICJTcGxpdCB0aGUgY3VycmVudCB3aW5kb3ciCm1zZ3N0ciAiQWt0dWVsbGVzIEZlbnN0ZXIgdW50ZXJ0ZWlsZW4iCgojLiBEZWxldGUgV0lORE9XLCBmb3JnZXR0aW5nIHRoZSBsaXN0IG9mIGxhc3QgdmlzaXRlZCBub2Rlcy4gIElmIHdlIGFyZQojLiBhdXRvbWF0aWNhbGx5IGRpc3BsYXlpbmcgZm9vdG5vdGVzLCBzaG93IG9yIHJlbW92ZSB0aGUgZm9vdG5vdGVzCiMuIHdpbmRvdy4gIElmIHdlIGFyZSBhdXRvbWF0aWNhbGx5IHRpbGluZyB3aW5kb3dzLCByZS10aWxlIGFmdGVyIHRoZQojLiBkZWxldGlvbi4KIzogaW5mby9zZXNzaW9uLmM6MTQyOAptc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHdpbmRvdyIKbXNnc3RyICJBa3R1ZWxsZXMgRmVuc3RlciBs9nNjaGVuIgoKIzogaW5mby9zZXNzaW9uLmM6MTQzNgptc2dpZCAiQ2Fubm90IGRlbGV0ZSBhIHBlcm1hbmVudCB3aW5kb3ciCm1zZ3N0ciAiRWluIHBlcm1hbmVudGVzIEZlbnN0ZXIga2FubiBuaWNodCBnZWz2c2NodCB3ZXJkZW4iCgojLiBKdXN0IGtlZXAgV0lORE9XLCBkZWxldGluZyBhbGwgb3RoZXJzLgojOiBpbmZvL3Nlc3Npb24uYzoxNDY5Cm1zZ2lkICJEZWxldGUgYWxsIG90aGVyIHdpbmRvd3MiCm1zZ3N0ciAiQWxsZSBhbmRlcmVuIEZlbnN0ZXIgbPZzY2hlbiIKCiMuIFNjcm9sbCB0aGUgIm90aGVyIiB3aW5kb3cgb2YgV0lORE9XLgojOiBpbmZvL3Nlc3Npb24uYzoxNTE1Cm1zZ2lkICJTY3JvbGwgdGhlIG90aGVyIHdpbmRvdyIKbXNnc3RyICJEYXMgYW5kZXJlIEZlbnN0ZXIgu3Njcm9sbGVuqyIKCiMuIENoYW5nZSB0aGUgc2l6ZSBvZiBXSU5ET1cgYnkgQU1PVU5ULgojOiBpbmZvL3Nlc3Npb24uYzoxNTM1Cm1zZ2lkICJHcm93IChvciBzaHJpbmspIHRoaXMgd2luZG93Igptc2dzdHIgIkFrdHVlbGxlcyBGZW5zdGVyIHZlcmdy9t9lcm4gKG9kZXIgdmVya2xlaW5lcm4pIgoKIzogaW5mby9zZXNzaW9uLmM6MTU0Ngptc2dpZCAiRGl2aWRlIHRoZSBhdmFpbGFibGUgc2NyZWVuIHNwYWNlIGFtb25nIHRoZSB2aXNpYmxlIHdpbmRvd3MiCm1zZ3N0ciAiIgoiRGVuIHZvcmhhbmRlbmVuIEJpbGRzY2hpcm1wbGF0eiB1bnRlciBhbGxlbiBzaWNodGJhcmVuIEZlbnN0ZXJuIGF1ZnRlaWxlbiIKCiM6IGluZm8vc2Vzc2lvbi5jOjE1NTMKbXNnaWQgIlRvZ2dsZSB0aGUgc3RhdGUgb2YgbGluZSB3cmFwcGluZyBpbiB0aGUgY3VycmVudCB3aW5kb3ciCm1zZ3N0ciAiRGVuIFN0YXR1cyBkZXMgWmVpbGVudW1icnVjaHMgaW0gYWt0dWVsbGVuIEZlbnN0ZXIgdW1zY2hhbHRlbiIKCiMuIE1ha2UgV0lORE9XIGRpc3BsYXkgdGhlICJOZXh0OiIgbm9kZSBvZiB0aGUgbm9kZSBjdXJyZW50bHkgYmVpbmcKIy4gZGlzcGxheWVkLgojOiBpbmZvL3Nlc3Npb24uYzoxNzE0Cm1zZ2lkICJTZWxlY3QgdGhlIGBOZXh0JyBub2RlIgptc2dzdHIgIkRlbiC7TmV4dKstS25vdGVuIGF1c3fkaGxlbiIKCiMuIE1ha2UgV0lORE9XIGRpc3BsYXkgdGhlICJQcmV2OiIgbm9kZSBvZiB0aGUgbm9kZSBjdXJyZW50bHkgYmVpbmcKIy4gZGlzcGxheWVkLgojOiBpbmZvL3Nlc3Npb24uYzoxNzIyCm1zZ2lkICJTZWxlY3QgdGhlIGBQcmV2JyBub2RlIgptc2dzdHIgIkRlbiC7UHJldqstS25vdGVuIGF1c3fkaGxlbiIKCiMuIE1ha2UgV0lORE9XIGRpc3BsYXkgdGhlICJVcDoiIG5vZGUgb2YgdGhlIG5vZGUgY3VycmVudGx5IGJlaW5nCiMuIGRpc3BsYXllZC4KIzogaW5mby9zZXNzaW9uLmM6MTczMAptc2dpZCAiU2VsZWN0IHRoZSBgVXAnIG5vZGUiCm1zZ3N0ciAiRGVuILtVcKstS25vdGVuIGF1c3fkaGxlbiIKCiMuIE1ha2UgV0lORE9XIGRpc3BsYXkgdGhlIGxhc3Qgbm9kZSBvZiB0aGlzIGluZm8gZmlsZS4KIzogaW5mby9zZXNzaW9uLmM6MTczNwptc2dpZCAiU2VsZWN0IHRoZSBsYXN0IG5vZGUgaW4gdGhpcyBmaWxlIgptc2dzdHIgIkRlbiBsZXR6dGVuIEtub3RlbiBkaWVzZXIgRGF0ZWkgYXVzd+RobGVuIgoKIyBjaGVja2l0CiM6IGluZm8vc2Vzc2lvbi5jOjE3NTAgaW5mby9zZXNzaW9uLmM6MTc2OAptc2dpZCAiVGhpcyB3aW5kb3cgaGFzIG5vIGFkZGl0aW9uYWwgbm9kZXMiCm1zZ3N0ciAiRGllcyBGZW5zdGVyIGhhdCBrZWluZSB3ZWl0ZXJlbiBLbm90ZW4iCgojLiBNYWtlIFdJTkRPVyBkaXNwbGF5IHRoZSBmaXJzdCBub2RlIG9mIHRoaXMgaW5mbyBmaWxlLgojOiBpbmZvL3Nlc3Npb24uYzoxNzU5Cm1zZ2lkICJTZWxlY3QgdGhlIGZpcnN0IG5vZGUgaW4gdGhpcyBmaWxlIgptc2dzdHIgIkRlbiBlcnN0ZW4gS25vdGVuIGRpZXNlciBEYXRlaSBhdXN35GhsZW4iCgojOiBpbmZvL3Nlc3Npb24uYzoxNzc4Cm1zZ2lkICJTZWxlY3QgdGhlIGxhc3QgaXRlbSBpbiB0aGlzIG5vZGUncyBtZW51Igptc2dzdHIgIkRlbiBsZXR6dGVuIFB1bmt0IGRlcyBNZW78cyBkaWVzZXMgS25vdGVucyBhdXN35GhsZW4iCgojLiBVc2UgS0VZIChhIGRpZ2l0KSB0byBzZWxlY3QgdGhlIE50aCBtZW51IGl0ZW0gaW4gV0lORE9XLT5ub2RlLgojOiBpbmZvL3Nlc3Npb24uYzoxNzg0Cm1zZ2lkICJTZWxlY3QgdGhpcyBtZW51IGl0ZW0iCm1zZ3N0ciAiRGllc2VuIE1lbvxwdW5rdCBhdXN35GhsZW4iCgojOiBpbmZvL3Nlc3Npb24uYzoxODEzCiMsIGMtZm9ybWF0Cm1zZ2lkICJUaGVyZSBhcmVuJ3QgJWQgaXRlbXMgaW4gdGhpcyBtZW51LiIKbXNnc3RyICJFcyBzaW5kIGtlaW5lICVkIFB1bmt0ZSBpbiBkaWVzZW0gTWVu/C4iCgojOiBpbmZvL3Nlc3Npb24uYzoxOTQ0CiMsIGMtZm9ybWF0Cm1zZ2lkICJNZW51IGl0ZW0gKCVzKTogIgptc2dzdHIgIk1lbvxwdW5rdCAoJXMpOiAiCgojOiBpbmZvL3Nlc3Npb24uYzoxOTQ2Cm1zZ2lkICJNZW51IGl0ZW06ICIKbXNnc3RyICJNZW78cHVua3Q6ICIKCiM6IGluZm8vc2Vzc2lvbi5jOjE5NTEKIywgYy1mb3JtYXQKbXNnaWQgIkZvbGxvdyB4cmVmICglcyk6ICIKbXNnc3RyICJGb2xnZSB4cmVmICglcyk6ICIKCiM6IGluZm8vc2Vzc2lvbi5jOjE5NTMKbXNnaWQgIkZvbGxvdyB4cmVmOiAiCm1zZ3N0ciAiRm9sZ2UgeHJlZjogIgoKIy4gUmVhZCBhIGxpbmUgKHdpdGggY29tcGxldGlvbikgd2hpY2ggaXMgdGhlIG5hbWUgb2YgYSBtZW51IGl0ZW0sCiMuIGFuZCBzZWxlY3QgdGhhdCBpdGVtLgojOiBpbmZvL3Nlc3Npb24uYzoyMDQyCm1zZ2lkICJSZWFkIGEgbWVudSBpdGVtIGFuZCBzZWxlY3QgaXRzIG5vZGUiCm1zZ3N0ciAiRWluZW4gTWVu/HB1bmt0IGxlc2VuIHVuZCBzZWluZW4gS25vdGVuIGF1c3fkaGxlbiIKCiM6IGluZm8vc2Vzc2lvbi5jOjIwNTAKbXNnaWQgIlJlYWQgYSBmb290bm90ZSBvciBjcm9zcyByZWZlcmVuY2UgYW5kIHNlbGVjdCBpdHMgbm9kZSIKbXNnc3RyICJGdd9ub3RlIG9kZXIgUXVlcnZlcndlaXMgbGVzZW4gdW5kIGRlbiBLb25vdGUgYXVzd+RobGVuIgoKIy4gUG9zaXRpb24gdGhlIGN1cnNvciBhdCB0aGUgc3RhcnQgb2YgdGhpcyBub2RlJ3MgbWVudS4KIzogaW5mby9zZXNzaW9uLmM6MjA1Ngptc2dpZCAiTW92ZSB0byB0aGUgc3RhcnQgb2YgdGhpcyBub2RlJ3MgbWVudSIKbXNnc3RyICJadW0gQW5mYW5nIGRlcyBNZW78cyBkaWVzZXMgS25vdGVucyBiZXdlZ2VuIgoKIzogaW5mby9zZXNzaW9uLmM6MjA4MAptc2dpZCAiVmlzaXQgYXMgbWFueSBtZW51IGl0ZW1zIGF0IG9uY2UgYXMgcG9zc2libGUiCm1zZ3N0ciAiU28gdmllbGUgTWVu/HB1bmt0ZSB3aWUgbfZnbGljaCBhdWYgZWlubWFsIGJlc3VjaGVuIgoKIy4gUmVhZCBhIGxpbmUgb2YgaW5wdXQgd2hpY2ggaXMgYSBub2RlIG5hbWUsIGFuZCBnbyB0byB0aGF0IG5vZGUuCiM6IGluZm8vc2Vzc2lvbi5jOjIxMDgKbXNnaWQgIlJlYWQgYSBub2RlIG5hbWUgYW5kIHNlbGVjdCBpdCIKbXNnc3RyICJEZW4gTmFtZW4gZWluZXMgS25vdGVucyBsZXNlbiB1bmQgZGllc2VuIGF1c3fkaGxlbiIKCiM6IGluZm8vc2Vzc2lvbi5jOjIxNjkgaW5mby9zZXNzaW9uLmM6MjE3Mwptc2dpZCAiR290byBOb2RlOiAiCm1zZ3N0ciAiR2VoZSBuYWNoIEtub3RlbjogIgoKIzogaW5mby9zZXNzaW9uLmM6MjE5NAptc2dpZCAiUmVhZCBhIG1hbnBhZ2UgcmVmZXJlbmNlIGFuZCBzZWxlY3QgaXQiCm1zZ3N0ciAiRWluZW4gVmVyd2VpcyBhdWYgZWluZSBNYW5wYWdlIGxlc2VuIHVuZCBkaWVzZSBhdXN35GhsZW4iCgojOiBpbmZvL3Nlc3Npb24uYzoyMTk4Cm1zZ2lkICJHZXQgTWFucGFnZTogIgptc2dzdHIgIkhvbGUgTWFucGFnZTogIgoKIy4gTW92ZSB0byB0aGUgIlRvcCIgbm9kZSBpbiB0aGlzIGZpbGUuCiM6IGluZm8vc2Vzc2lvbi5jOjIyMjgKbXNnaWQgIlNlbGVjdCB0aGUgbm9kZSBgVG9wJyBpbiB0aGlzIGZpbGUiCm1zZ3N0ciAiRGVuIEtub3RlbiC7VG9wqyBkaWVzZXIgRGF0ZWkgYXVzd+RobGVuIgoKIy4gTm90aWNlIHRoYXQgdGhlIG5vZGUgIlRvcCIgaXMgc3BlY2lhbCwgYW5kIGRvZXNuJ3QgaGF2ZSB0bwojLiBiZSByZWZlcmVuY2VkLgojOiBpbmZvL3Nlc3Npb24uYzoyMjMwIG1ha2VpbmZvL21ha2VpbmZvLmM6NTE0NSBtYWtlaW5mby9tYWtlaW5mby5jOjUyMjgKbXNnaWQgIlRvcCIKbXNnc3RyICJUb3AiCgojLiBNb3ZlIHRvIHRoZSBub2RlICIoZGlyKVRvcCIuCiM6IGluZm8vc2Vzc2lvbi5jOjIyMzQKbXNnaWQgIlNlbGVjdCB0aGUgbm9kZSBgKGRpciknIgptc2dzdHIgIkRlbiBLbm90ZW4guyhkaXIpqyBhdXN35GhsZW4iCgojOiBpbmZvL3Nlc3Npb24uYzoyMjU0CiMsIGMtZm9ybWF0Cm1zZ2lkICJLaWxsIG5vZGUgKCVzKTogIgptc2dzdHIgIktpbGxlIEtub3RlbiAoJXMpOiAiCgojOiBpbmZvL3Nlc3Npb24uYzoyMzA3CiMsIGMtZm9ybWF0Cm1zZ2lkICJDYW5ub3Qga2lsbCBub2RlIGAlcyciCm1zZ3N0ciAiS2FubiBLbm90ZW4guyVzqyBuaWNodCBraWxsZW4iCgojOiBpbmZvL3Nlc3Npb24uYzoyMzE3Cm1zZ2lkICJDYW5ub3Qga2lsbCB0aGUgbGFzdCBub2RlIgptc2dzdHIgIkRlciBsZXR6dGUgS25vdGVuIGthbm4gbmljaHQgZ2VraWxsdCB3ZXJkZW4iCgojOiBpbmZvL3Nlc3Npb24uYzoyNDAxCm1zZ2lkICJTZWxlY3QgdGhlIG1vc3QgcmVjZW50bHkgc2VsZWN0ZWQgbm9kZSIKbXNnc3RyICJEZW4genVsZXR6dCBnZXfkaGx0ZW4gS25vdGVuIGF1c3fkaGxlbiIKCiMuIEtpbGwgbmFtZWQgbm9kZS4KIzogaW5mby9zZXNzaW9uLmM6MjQwNwptc2dpZCAiS2lsbCB0aGlzIG5vZGUiCm1zZ3N0ciAiRGllc2VuIEtub3RlbiBraWxsZW4iCgojLiBSZWFkIHRoZSBuYW1lIG9mIGEgZmlsZSBhbmQgc2VsZWN0IHRoZSBlbnRpcmUgZmlsZS4KIzogaW5mby9zZXNzaW9uLmM6MjQxNQptc2dpZCAiUmVhZCB0aGUgbmFtZSBvZiBhIGZpbGUgYW5kIHNlbGVjdCBpdCIKbXNnc3RyICJEZW4gTmFtZW4gZWluZXIgRGF0ZWkgbGVzZW4gdW5kIGRpZXNlIGF1c3fkaGxlbiIKCiM6IGluZm8vc2Vzc2lvbi5jOjI0MTkKbXNnaWQgIkZpbmQgZmlsZTogIgptc2dzdHIgIkRhdGVpIGZpbmRlbjogIgoKIzogaW5mby9zZXNzaW9uLmM6MjQzNgojLCBjLWZvcm1hdAptc2dpZCAiQ2Fubm90IGZpbmQgXCIlc1wiLiIKbXNnc3RyICJLYW5uILslc6sgbmljaHQgZmluZGVuLiIKCiM6IGluZm8vc2Vzc2lvbi5jOjI0ODMgaW5mby9zZXNzaW9uLmM6MjYwOAojLCBjLWZvcm1hdAptc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBvdXRwdXQgZmlsZSBcIiVzXCIuIgptc2dzdHIgIkF1c2dhYmUtRGF0ZWkguyVzqyBrYW5uIG5pY2h0IGFuZ2VsZWd0IHdlcmRlbi4iCgojOiBpbmZvL3Nlc3Npb24uYzoyNDk2IGluZm8vc2Vzc2lvbi5jOjI2MjUgaW5mby9zZXNzaW9uLmM6MjY3MQptc2dpZCAiRG9uZS4iCm1zZ3N0ciAiRmVydGlnLiIKCiM6IGluZm8vc2Vzc2lvbi5jOjI1NTMKIywgYy1mb3JtYXQKbXNnaWQgIldyaXRpbmcgbm9kZSBcIiglcyklc1wiLi4uIgptc2dzdHIgIlNjaHJlaWJlIEtub3RlbiAoJXMpJXMiCgojOiBpbmZvL3Nlc3Npb24uYzoyNTU2CiMsIGMtZm9ybWF0Cm1zZ2lkICJXcml0aW5nIG5vZGUgXCIlc1wiLi4uIgptc2dzdHIgIktub3RlbiC7JXOrIHNjaHJlaWJlbi4uLiIKCiM6IGluZm8vc2Vzc2lvbi5jOjI2MzQKbXNnaWQgIlBpcGUgdGhlIGNvbnRlbnRzIG9mIHRoaXMgbm9kZSB0aHJvdWdoIElORk9fUFJJTlRfQ09NTUFORCIKbXNnc3RyICJEZW4gSW5oYWx0IGRpZXNlcyBLbm90ZW5zIGR1cmNoIElORk9fUFJJTlRfQ09NTUFORCBwaXBlbiIKCiM6IGluZm8vc2Vzc2lvbi5jOjI2NTQKIywgYy1mb3JtYXQKbXNnaWQgIkNhbm5vdCBvcGVuIHBpcGUgdG8gXCIlc1wiLiIKbXNnc3RyICJLYW5uIG5pY2h0IG5hY2gguyVzqyBwaXBlbi4iCgojOiBpbmZvL3Nlc3Npb24uYzoyNjYxCiMsIGMtZm9ybWF0Cm1zZ2lkICJQcmludGluZyBub2RlIFwiKCVzKSVzXCIuLi4iCm1zZ3N0ciAiRHJ1Y2tlIEtub3RlbiC7KCVzKSVzqy4uLiIKCiM6IGluZm8vc2Vzc2lvbi5jOjI2NjQKIywgYy1mb3JtYXQKbXNnaWQgIlByaW50aW5nIG5vZGUgXCIlc1wiLi4uIgptc2dzdHIgIkRydWNrZSBLbm90ZW4guyVzqy4uLiIKCiM6IGluZm8vc2Vzc2lvbi5jOjI4OTYKIywgYy1mb3JtYXQKbXNnaWQgIlNlYXJjaGluZyBzdWJmaWxlIFwiJXNcIi4uLiIKbXNnc3RyICJVbnRlcmRhdGVpILslc6sgd2lyZCBkdXJjaHN1Y2h0Li4uIgoKIzogaW5mby9zZXNzaW9uLmM6Mjk0Ngptc2dpZCAiUmVhZCBhIHN0cmluZyBhbmQgc2VhcmNoIGZvciBpdCIKbXNnc3RyICJFaW5lIFplaWNoZW5rZXR0ZSBlaW5sZXNlbiB1bmQgZGFuYWNoIHN1Y2hlbiIKCiMgY2hlY2tpdAojOiBpbmZvL3Nlc3Npb24uYzoyOTY2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBmb3Igc3RyaW5nIFslc106ICIKbXNnc3RyICIlcyBuYWNoIFplaWNoZW5rZXR0ZSBbJXNdOiAiCgojOiBpbmZvL3Nlc3Npb24uYzoyOTY3Cm1zZ2lkICJTZWFyY2ggYmFja3dhcmQiCm1zZ3N0ciAiU3VjaGUgcvxja3fkcnRzIgoKIzogaW5mby9zZXNzaW9uLmM6Mjk2Nwptc2dpZCAiU2VhcmNoIgptc2dzdHIgIlN1Y2hlIgoKIzogaW5mby9zZXNzaW9uLmM6Mjk5NAptc2dpZCAiU2VhcmNoIGZhaWxlZC4iCm1zZ3N0ciAiU3VjaGUgZmVobGdlc2NobGFnZW4uIgoKIzogaW5mby9zZXNzaW9uLmM6MzAyMCBpbmZvL3Nlc3Npb24uYzozMDI2Cm1zZ2lkICJTZWFyY2ggaW50ZXJhY3RpdmVseSBmb3IgYSBzdHJpbmcgYXMgeW91IHR5cGUgaXQiCm1zZ3N0ciAiSW50ZXJha3RpdiBuYWNoIGVpbmVyIFplaWNoZW5rZXR0ZSB35GhyZW5kIGRlciBFaW5nYWJlIHN1Y2hlbiIKCiM6IGluZm8vc2Vzc2lvbi5jOjMxMjAKbXNnaWQgIkktc2VhcmNoIGJhY2t3YXJkOiAiCm1zZ3N0ciAiSW50ZXJhY3RpdmUgU3VjaGUgcvxja3dhcnRzOiAiCgojOiBpbmZvL3Nlc3Npb24uYzozMTIyCm1zZ2lkICJJLXNlYXJjaDogIgptc2dzdHIgIkludGVyYWN0aXZlIFN1Y2hlIgoKIyBjaGVja2l0CiM6IGluZm8vc2Vzc2lvbi5jOjMxNDcKbXNnaWQgIkZhaWxpbmcgIgptc2dzdHIgIkZlaGxnZXNjaGxhZ2VuICIKCiM6IGluZm8vc2Vzc2lvbi5jOjM1MTIKbXNnaWQgIk5vIGNyb3NzIHJlZmVyZW5jZXMgaW4gdGhpcyBub2RlLiIKbXNnc3RyICJLZWluZSBRdWVydmVyd2Vpc2UgaW4gZGllc2VtIEtub3Rlbi4iCgojOiBpbmZvL3Nlc3Npb24uYzozNTc5Cm1zZ2lkICJNb3ZlIHRvIHRoZSBwcmV2aW91cyBjcm9zcyByZWZlcmVuY2UiCm1zZ3N0ciAiWnVtIHZvcmlnZW4gUXVlcnZlcndlaXMgYmV3ZWdlbiIKCiM6IGluZm8vc2Vzc2lvbi5jOjM1ODgKbXNnaWQgIk1vdmUgdG8gdGhlIG5leHQgY3Jvc3MgcmVmZXJlbmNlIgptc2dzdHIgIlp1bSBu5GNoc3RlbiBRdWVydmVyd2VpcyBiZXdlZ2VuIgoKIzogaW5mby9zZXNzaW9uLmM6MzU5OAptc2dpZCAiU2VsZWN0IHJlZmVyZW5jZSBvciBtZW51IGl0ZW0gYXBwZWFyaW5nIG9uIHRoaXMgbGluZSIKbXNnc3RyICJWZXJ3ZWlzIG9kZXIgTWVu/HB1bmt0IGF1c3fkaGxlbiwgZGVyIGF1ZiBkaWVzZXIgWmVpbGUgZXJzY2hlaW50IgoKIyBjaGVja2l0CiMuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIy4KIy4gTWlzY2VsbGFuZW91cyBJbmZvIENvbW1hbmRzCiMuCiMuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIy4gV2hhdCB0byBkbyB3aGVuIEMtZyBpcyBwcmVzc2VkIGluIGEgd2luZG93LgojOiBpbmZvL3Nlc3Npb24uYzozNjIwCm1zZ2lkICJDYW5jZWwgY3VycmVudCBvcGVyYXRpb24iCm1zZ3N0ciAiTW9tZW50YW5lIE9wZXJhdGlvbiBhYmJyZWNoZW4iCgojOiBpbmZvL3Nlc3Npb24uYzozNjI3Cm1zZ2lkICJRdWl0Igptc2dzdHIgIkVuZGUiCgojOiBpbmZvL3Nlc3Npb24uYzozNjM2Cm1zZ2lkICJNb3ZlIHRvIHRoZSBjdXJzb3IgdG8gYSBzcGVjaWZpYyBsaW5lIG9mIHRoZSB3aW5kb3ciCm1zZ3N0ciAiRGVuIEN1cnNvciBuYWNoIGVpbmVyIGJlc3RpbW10ZW4gWmVpbGUgZGVzIEZlbnN0ZXJzIGJld2VnZW4iCgojLiBDbGVhciB0aGUgc2NyZWVuIGFuZCByZWRyYXcgaXRzIGNvbnRlbnRzLiAgR2l2ZW4gYSBudW1lcmljIGFyZ3VtZW50LAojLiBtb3ZlIHRoZSBsaW5lIHRoZSBjdXJzb3IgaXMgb24gdG8gdGhlIENPVU5UJ3RoIGxpbmUgb2YgdGhlIHdpbmRvdy4KIzogaW5mby9zZXNzaW9uLmM6MzY2OAptc2dpZCAiUmVkcmF3IHRoZSBkaXNwbGF5Igptc2dzdHIgIkFuemVpZ2UgZXJuZXV0IGRhcnN0ZWxsZW4iCgojLiBUaGlzIGNvbW1hbmQgZG9lcyBub3RoaW5nLiAgSXQgaXMgdGhlIGZhY3QgdGhhdCBhIGtleSBpcyBib3VuZCB0byBpdAojLiB0aGF0IGhhcyBtZWFuaW5nLiAgU2VlIHRoZSBjb2RlIGF0IHRoZSB0b3Agb2YgaW5mb19zZXNzaW9uICgpLgojOiBpbmZvL3Nlc3Npb24uYzozNzA1Cm1zZ2lkICJRdWl0IHVzaW5nIEluZm8iCm1zZ3N0ciAiSW5mbyBiZWVuZGVuIgoKIzogaW5mby9zZXNzaW9uLmM6MzcyOAojLCBjLWZvcm1hdAptc2dpZCAiVW5rbm93biBjb21tYW5kICglcykuIgptc2dzdHIgIlVuYmVrYW5udGVyIEJlZmVobCAoJXMpLiIKCiM6IGluZm8vc2Vzc2lvbi5jOjM3MzMKbXNnaWQgIlwiXCIgaXMgaW52YWxpZCIKbXNnc3RyICJcIlwiIGlzdCB1bmf8bHRpZyIKCiM6IGluZm8vc2Vzc2lvbi5jOjM3MzUKIywgYy1mb3JtYXQKbXNnaWQgIlwiJXNcIiBpcyBpbnZhbGlkIgptc2dzdHIgIlwiJXNcIiBpc3QgdW5n/Gx0aWciCgojOiBpbmZvL3Nlc3Npb24uYzozOTU4Cm1zZ2lkICJBZGQgdGhpcyBkaWdpdCB0byB0aGUgY3VycmVudCBudW1lcmljIGFyZ3VtZW50Igptc2dzdHIgIkRpZXNlIFphaGwgZGVtIGFrdHVlbGxlbiBudW1lcmlzY2hlbiBBcmd1bWVudCBoaW56dWb8Z2VuIgoKIzogaW5mby9zZXNzaW9uLmM6Mzk2Nwptc2dpZCAiU3RhcnQgKG9yIG11bHRpcGx5IGJ5IDQpIHRoZSBjdXJyZW50IG51bWVyaWMgYXJndW1lbnQiCm1zZ3N0ciAiQmVnaW5uZSAob2RlciBtdWx0aXBsaXppZXJlIG1pdCA0KSBkYXMgYWt0dWVsbGUgbnVtbWVyaXNjaGUgQXJndW1lbnQiCgojOiBpbmZvL3Nlc3Npb24uYzozOTgyCm1zZ2lkICJJbnRlcm5hbGx5IHVzZWQgYnkgXFxbdW5pdmVyc2FsLWFyZ3VtZW50XSIKbXNnc3RyICJJbnRlcm4gZ2VicmF1Y2h0IHZvbiBcXFt1bml2ZXJzYWwtYXJndW1lbnRdIgoKIzogaW5mby90aWxkZS5jOjM2Mgptc2dpZCAicmVhZGxpbmU6IE91dCBvZiB2aXJ0dWFsIG1lbW9yeSFcbiIKbXNnc3RyICJyZWFkbGluZTogS2VpbiBTcGVpY2hlciBtZWhyIVxuIgoKIzogaW5mby92YXJpYWJsZXMuYzo0MAptc2dpZCAiV2hlbiBcIk9uXCIsIGZvb3Rub3RlcyBhcHBlYXIgYW5kIGRpc2FwcGVhciBhdXRvbWF0aWNhbGx5Igptc2dzdHIgIldlbm4gu09uqywgZGFubiBlcnNjaGVpbmVuIHVuZCB2ZXJzY2h3aW5kZW4gRnXfbm90ZW4gYXV0b21hdGlzY2giCgojOiBpbmZvL3ZhcmlhYmxlcy5jOjQ0Cm1zZ2lkICJXaGVuIFwiT25cIiwgY3JlYXRpbmcgb3IgZGVsZXRpbmcgYSB3aW5kb3cgcmVzaXplcyBvdGhlciB3aW5kb3dzIgptc2dzdHIgIiIKIldlbm4gu09uqywgZGFubiB3ZXJkZW4gYmVpbSBBbmxlZ2VuIG9kZXIgTPZzY2hlbiBlaW5lcyBGZW5zdGVycyBkaWUgYW5kZXJlbiAiCiJGZW5zdGVyIGFuZ2VwYXNzdCIKCiM6IGluZm8vdmFyaWFibGVzLmM6NDgKbXNnaWQgIldoZW4gXCJPblwiLCBmbGFzaCB0aGUgc2NyZWVuIGluc3RlYWQgb2YgcmluZ2luZyB0aGUgYmVsbCIKbXNnc3RyICJXZW5uILtPbqssIGRhbm4gZGVuIEJpbGRzY2hpcm0gYmxpbmtlbiBsYXNzZW4sIGtlaW4gYWt1c3Rpc2NoZXMgU2lnbmFsIgoKIzogaW5mby92YXJpYWJsZXMuYzo1Mgptc2dpZCAiV2hlbiBcIk9uXCIsIGVycm9ycyBjYXVzZSB0aGUgYmVsbCB0byByaW5nIgptc2dzdHIgIldlbm4gu09uqywgZGFubiBsYXNzZW4gRmVobGVyIGVpbiBha3VzdGlzY2hlcyBTaWduYWwgZXJ09m5lbiIKCiMgY2hlY2tpdAojOiBpbmZvL3ZhcmlhYmxlcy5jOjU2Cm1zZ2lkICJXaGVuIFwiT25cIiwgSW5mbyBnYXJiYWdlIGNvbGxlY3RzIGZpbGVzIHdoaWNoIGhhZCB0byBiZSB1bmNvbXByZXNzZWQiCm1zZ3N0ciAiIgoiV2VubiC7T26rLCBJbmZvIFwiZ2FyYmFnZSBjb2xsZWN0ZXRcIiBEYXRlaWVuLCBkaWUgYXVzZ2VwYWNrdCB3ZXJkZW4gbfxzc2VuIgoKIzogaW5mby92YXJpYWJsZXMuYzo1OQptc2dpZCAiV2hlbiBcIk9uXCIsIHRoZSBwb3J0aW9uIG9mIHRoZSBtYXRjaGVkIHNlYXJjaCBzdHJpbmcgaXMgaGlnaGxpZ2h0ZWQiCm1zZ3N0ciAiIgoiV2VubiC7T26rLCBkaWUg/GJlcmVpbnN0aW1tZW5kZSBnZWZ1bmRlbmUgWmVpY2hlbmtldHRlIHdpcmQgZ2VrZW5uemVpY2huZXQiCgojOiBpbmZvL3ZhcmlhYmxlcy5jOjYzCm1zZ2lkICJDb250cm9scyB3aGF0IGhhcHBlbnMgd2hlbiBzY3JvbGxpbmcgaXMgcmVxdWVzdGVkIGF0IHRoZSBlbmQgb2YgYSBub2RlIgptc2dzdHIgIiIKIktvbnRyb2xsaWVydCwgd2FzIHBhc3NpZXJ0LCB3ZW5uILtzY3JvbGxlbqsgYW0gRW5kZSBlaW5lcyBLbm90ZW5zIHZlcmFubGFzc3QgIgoid2lyZCIKCiM6IGluZm8vdmFyaWFibGVzLmM6NjcKbXNnaWQgIlRoZSBudW1iZXIgbGluZXMgdG8gc2Nyb2xsIHdoZW4gdGhlIGN1cnNvciBtb3ZlcyBvdXQgb2YgdGhlIHdpbmRvdyIKbXNnc3RyICIiCiJBbnphaGwgZGVyIFplaWxlbiB6dSC7c2Nyb2xsZW6rLCB3ZW5uIGRlciBDdXJzb3IgYXVzIGRlbSBGZW5zdGVyIGJld2VndCB3aXJkIgoKIzogaW5mby92YXJpYWJsZXMuYzo3MQptc2dpZCAiV2hlbiBcIk9uXCIsIEluZm8gYWNjZXB0cyBhbmQgZGlzcGxheXMgSVNPIExhdGluIGNoYXJhY3RlcnMiCm1zZ3N0ciAiV2VubiC7T26rLCBkYW5uIGFremVwdGllcnQgSW5mbyBJU08tTGF0aW4tWmVpY2hlbiB1bmQgemVpZ3QgZGllc2UgYW4iCgojOiBpbmZvL3ZhcmlhYmxlcy5jOjc3Cm1zZ2lkICJFeHBsYWluIHRoZSB1c2Ugb2YgYSB2YXJpYWJsZSIKbXNnc3RyICJEZW4gWndlY2sgZWluZXIgVmFyaWFibGVuIGVya2zkcmVuIgoKIy4gR2V0IHRoZSB2YXJpYWJsZSdzIG5hbWUuCiM6IGluZm8vdmFyaWFibGVzLmM6ODMKbXNnaWQgIkRlc2NyaWJlIHZhcmlhYmxlOiAiCm1zZ3N0ciAiQmVzY2hyZWliZSBWYXJpYWJsZTogIgoKIzogaW5mby92YXJpYWJsZXMuYzoxMDIKbXNnaWQgIlNldCB0aGUgdmFsdWUgb2YgYW4gSW5mbyB2YXJpYWJsZSIKbXNnc3RyICJEZW4gV2VydCBlaW5lciBJbmZvLVZhcmlhYmxlbiBzZXR6ZW4iCgojLiBHZXQgdGhlIHZhcmlhYmxlJ3MgbmFtZSBhbmQgdmFsdWUuCiM6IGluZm8vdmFyaWFibGVzLmM6MTA4Cm1zZ2lkICJTZXQgdmFyaWFibGU6ICIKbXNnc3RyICJTZXR6ZSBWYXJpYWJsZTogIgoKIzogaW5mby92YXJpYWJsZXMuYzoxMjYKIywgYy1mb3JtYXQKbXNnaWQgIlNldCAlcyB0byB2YWx1ZSAoJWQpOiAiCm1zZ3N0ciAiU2V0emUgJXMgYXVmIGRlbiBXZXJ0ICglZCk6ICIKCiM6IGluZm8vdmFyaWFibGVzLmM6MTY3CiMsIGMtZm9ybWF0Cm1zZ2lkICJTZXQgJXMgdG8gdmFsdWUgKCVzKTogIgptc2dzdHIgIlNldHplICVzIGF1ZiBkZW4gV2VydCAoJXMpOiAiCgojOiBpbmZvL3dpbmRvdy5jOjExMDIKbXNnaWQgIi0tKioqIFRhZ3Mgb3V0IG9mIERhdGUgKioqIgptc2dzdHIgIi0tKioqIFRhZ3MgdmVyYWx0ZXQgKioqIgoKIy4gc3RybGVuIChsb2NhdGlvbl9pbmRpY2F0b3IpLgojLiAxMCBmb3IgdGhlIGRlY2ltYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIG51bWJlciBvZiBsaW5lcyBpbiB0aGlzCiMuIG5vZGUsIGFuZCB0aGUgcmVtYWluZGVyIG9mIHRoZSB0ZXh0IHRoYXQgY2FuIGFwcGVhciBpbiB0aGUgbGluZS4KIzogaW5mby93aW5kb3cuYzoxMTEzCm1zZ2lkICItLS0tLUluZm86ICgpLCBsaW5lcyAtLS0tLCAiCm1zZ3N0ciAiLS0tLS1JbmZvOiAoKSwgWmVpbGVuIC0tLS0sICIKCiM6IGluZm8vd2luZG93LmM6MTEyMAojLCBjLWZvcm1hdAptc2dpZCAiLSVzLS0tSW5mbzogJXMsICVkIGxpbmVzIC0tJXMtLSIKbXNnc3RyICItJXMtLS1JbmZvOiAlcywgJWQgWmVpbGVuIC0tJXMtLSIKCiM6IGluZm8vd2luZG93LmM6MTEyNAojLCBjLWZvcm1hdAptc2dpZCAiLSVzJXMtSW5mbzogKCVzKSVzLCAlZCBsaW5lcyAtLSVzLS0iCm1zZ3N0ciAiLSVzJXMtSW5mbzogKCVzKSVzLCAlZCBaZWlsZW4gLS0lcy0tIgoKIzogaW5mby93aW5kb3cuYzoxMTMxCiMsIGMtZm9ybWF0Cm1zZ2lkICIgU3ViZmlsZTogJXMiCm1zZ3N0ciAiIFVudGVyZGF0ZWk6ICVzIgoKIzogbGliL2dldG9wdC5jOjY3MgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiBgJXMnIGlzIGFtYmlndW91c1xuIgptc2dzdHIgIiIKCiM6IGxpYi9nZXRvcHQuYzo2OTYKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gYC0tJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIiCgojOiBsaWIvZ2V0b3B0LmM6NzAxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIGAlYyVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50XG4iCm1zZ3N0ciAiIgoKIzogbGliL2dldG9wdC5jOjcxOCBsaWIvZ2V0b3B0LmM6ODkxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIGAlcycgcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIiCgojLiAtLW9wdGlvbgojOiBsaWIvZ2V0b3B0LmM6NzQ3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5yZWNvZ25pemVkIG9wdGlvbiBgLS0lcydcbiIKbXNnc3RyICIiCgojLiArb3B0aW9uIG9yIC1vcHRpb24KIzogbGliL2dldG9wdC5jOjc1MQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHVucmVjb2duaXplZCBvcHRpb24gYCVjJXMnXG4iCm1zZ3N0ciAiIgoKIy4gMTAwMy4yIHNwZWNpZmllcyB0aGUgZm9ybWF0IG9mIHRoaXMgbWVzc2FnZS4KIzogbGliL2dldG9wdC5jOjc3NwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCm1zZ3N0ciAiIgoKIzogbGliL2dldG9wdC5jOjc4MAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIC0tICVjXG4iCm1zZ3N0ciAiIgoKIy4gMTAwMy4yIHNwZWNpZmllcyB0aGUgZm9ybWF0IG9mIHRoaXMgbWVzc2FnZS4KIzogbGliL2dldG9wdC5jOjgxMCBsaWIvZ2V0b3B0LmM6OTQwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVjXG4iCm1zZ3N0ciAiIgoKIzogbGliL2dldG9wdC5jOjg1NwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiBgLVcgJXMnIGlzIGFtYmlndW91c1xuIgptc2dzdHIgIiIKCiM6IGxpYi9nZXRvcHQuYzo4NzUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gYC1XICVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50XG4iCm1zZ3N0ciAiIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo4OTMKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiVkOiB3YXJuaW5nOiAiCm1zZ3N0ciAiJXM6JWQ6IFdhcm51bmc6ICIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6OTE2Cm1zZ2lkICJUb28gbWFueSBlcnJvcnMhICBHYXZlIHVwLlxuIgptc2dzdHIgIlp1IHZpZWxlIEZlaGxlciEgIEFiYnJ1Y2guXG4iCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjk3NSBtYWtlaW5mby9tYWtlaW5mby5jOjEwMDAgbWFrZWluZm8vbWFrZWluZm8uYzoxMDY4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogJXMgYXJnIG11c3QgYmUgbnVtZXJpYywgbm90IGAlcycuXG4iCm1zZ3N0ciAiJXM6ICVzIEFyZ3VtZW50IG11c3MgbnVtZXJpc2NoIHNlaW4sIG5pY2h0ILslc6suXG4iCgojIGNoZWNraXQKIzogbWFrZWluZm8vbWFrZWluZm8uYzo5ODkKIywgYy1mb3JtYXQKbXNnaWQgIkNvdWxkbid0IG9wZW4gbWFjcm8gZXhwYW5zaW9uIG91dHB1dCBgJXMnIgptc2dzdHIgIkRpZSBNYWNyby1BdWZs9nN1bmcgZvxyILslc6sga2FubiBuaWNodCBnZfZmZm5ldCB3ZXJkZW4iCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjk5Mgptc2dpZCAiQ2Fubm90IHNwZWNpZnkgbW9yZSB0aGFuIG9uZSBtYWNybyBleHBhbnNpb24gb3V0cHV0Igptc2dzdHIgIk1laHIgYWxzIGVpbmUgQXVzZ2FiZWRhdGVpIGRhcmYgbmljaHQgYW5nZWdlYmVuIHdlcmRlbiIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6MTAzNgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IC0tcGFyYWdyYXBoLWluZGVudCBhcmcgbXVzdCBiZSBudW1lcmljL2Bub25lJy9gYXNpcycsIG5vdCBgJXMnLlxuIgptc2dzdHIgIiIKIiVzOiBBcmcgZvxyIC0tcGFyYWdyYXBoLWluZGVudCBtdXNzIG51bWVyaXNjaC+7bm9uZasvu2FzaXOrIHNlaW4sIG5pY2h0ICIKIrslc6suXG4iCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjEwNzkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAtLWZvb3Rub3RlLXN0eWxlIGFyZyBtdXN0IGJlIGBzZXBhcmF0ZScgb3IgYGVuZCcsIG5vdCBgJXMnLlxuIgptc2dzdHIgIiIKIiVzOiBBcmd1bWVudCBm/HIgLS1mb290bm90ZS1zdHlsZSBtdXNzILtzZXBhcmF0Zasgb2RlciC7ZW5kqyBzZWluLCBuaWNodCAiCiK7JXOrLlxuIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzoxMTEwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogbWlzc2luZyBmaWxlIGFyZ3VtZW50LlxuIgptc2dzdHIgIiVzOiBEYXRlaS1BbmdhYmUgZmVobHQuXG4iCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjExNjMKIywgYy1mb3JtYXQKbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKbXNnc3RyICK7JXMgLS1oZWxwqyBnaWJ0IHdlaXRlcmUgSW5mb3JtYXRpb25lbi5cbiIKCiMgRGllICIuIiBhbSBaZWlsZW5lbmRlIGhhYmUgaWNoIGVudGZlcm50LiAta2UtCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6MTE2NQojLCBjLWZvcm1hdAptc2dpZCAiIgoiVXNhZ2U6ICVzIFtPUFRJT05dLi4uIFRFWElORk8tRklMRS4uLlxuIgoiXG4iCiJUcmFuc2xhdGUgVGV4aW5mbyBzb3VyY2UgZG9jdW1lbnRhdGlvbiB0byBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgcmVhZGluZ1xuIgoid2l0aCBHTlUgSW5mby5cbiIKIlxuIgoiT3B0aW9uczpcbiIKIi1EIFZBUiAgICAgICAgICAgICAgICAgZGVmaW5lIGEgdmFyaWFibGUsIGFzIHdpdGggQHNldC5cbiIKIi1FIE1BQ1JPLU9GSUxFICAgICAgICAgcHJvY2VzcyBtYWNyb3Mgb25seSwgb3V0cHV0IHRleGluZm8gc291cmNlLlxuIgoiLUkgRElSICAgICAgICAgICAgICAgICBhcHBlbmQgRElSIHRvIHRoZSBAaW5jbHVkZSBkaXJlY3Rvcnkgc2VhcmNoIHBhdGguXG4iCiItUCBESVIgICAgICAgICAgICAgICAgIHByZXBlbmQgRElSIHRvIHRoZSBAaW5jbHVkZSBkaXJlY3Rvcnkgc2VhcmNoIHBhdGguXG4iCiItVSBWQVIgICAgICAgICAgICAgICAgIHVuZGVmaW5lIGEgdmFyaWFibGUsIGFzIHdpdGggQGNsZWFyLlxuIgoiLS1lcnJvci1saW1pdCBOVU0gICAgICBxdWl0IGFmdGVyIE5VTSBlcnJvcnMgKGRlZmF1bHQgJWQpLlxuIgoiLS1maWxsLWNvbHVtbiBOVU0gICAgICBicmVhayBsaW5lcyBhdCBOVU0gY2hhcmFjdGVycyAoZGVmYXVsdCAlZCkuXG4iCiItLWZvb3Rub3RlLXN0eWxlIFNUWUxFIG91dHB1dCBmb290bm90ZXMgYWNjb3JkaW5nIHRvIFNUWUxFOlxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgIGBzZXBhcmF0ZScgdG8gcGxhY2UgZm9vdG5vdGVzIGluIHRoZWlyIG93biBub2RlLFxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgIGBlbmQnIHRvIHBsYWNlIHRoZSBmb290bm90ZXMgYXQgdGhlIGVuZCBvZlxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBub2RlIGluIHdoaWNoIHRoZXkgYXJlIGRlZmluZWQgKHRoZSBkZWZhdWx0KS5cbiIKIi0tZm9yY2UgICAgICAgICAgICAgICAgcHJlc2VydmUgb3V0cHV0IGV2ZW4gaWYgZXJyb3JzLlxuIgoiLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdC5cbiIKIi0tbm8tdmFsaWRhdGUgICAgICAgICAgc3VwcHJlc3Mgbm9kZSBjcm9zcy1yZWZlcmVuY2UgdmFsaWRhdGlvbi5cbiIKIi0tbm8td2FybiAgICAgICAgICAgICAgc3VwcHJlc3Mgd2FybmluZ3MgKGJ1dCBub3QgZXJyb3JzKS5cbiIKIi0tbm8tc3BsaXQgICAgICAgICAgICAgc3VwcHJlc3Mgc3BsaXR0aW5nIG9mIGxhcmdlIGZpbGVzLlxuIgoiLS1uby1oZWFkZXJzICAgICAgICAgICBzdXBwcmVzcyBub2RlIHNlcGFyYXRvcnMgYW5kIE5vZGU6IEZvbyBoZWFkZXJzLlxuIgoiLS1vdXRwdXQgRklMRSwgLW8gRklMRSBvdXRwdXQgdG8gRklMRSwgYW5kIGlnbm9yZSBhbnkgQHNldGZpbGVuYW1lLlxuIgoiLS1wYXJhZ3JhcGgtaW5kZW50IFZBTCBpbmRlbnQgcGFyYWdyYXBocyB3aXRoIFZBTCBzcGFjZXMgKGRlZmF1bHQgJWQpLlxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgIGlmIFZBTCBpcyBgbm9uZScsIGRvIG5vdCBpbmRlbnQ7IGlmIFZBTCBpcyBgYXNpcycsXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc2VydmUgYW55IGV4aXN0aW5nIGluZGVudGF0aW9uLlxuIgoiLS1yZWZlcmVuY2UtbGltaXQgTlVNICBjb21wbGFpbiBhYm91dCBhdCBtb3N0IE5VTSByZWZlcmVuY2VzIChkZWZhdWx0ICVkKS5cbiIKIi0tdmVyYm9zZSAgICAgICAgICAgICAgcmVwb3J0IGFib3V0IHdoYXQgaXMgYmVpbmcgZG9uZS5cbiIKIi0tdmVyc2lvbiAgICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LlxuIgoiXG4iCiJFbWFpbCBidWcgcmVwb3J0cyB0byBidWctdGV4aW5mb0BnbnUub3JnLlxuIgptc2dzdHIgIiIKIkF1ZnJ1ZjogJXMgW09QVElPTl0uLi4gVEVYSU5GTy1EQVRFSS4uLlxuIgoiXG4iCiJUZXhpbmZvLVF1ZWxsdGV4dCBpbiBlaW4gRm9ybWF0IPxiZXJzZXR6ZW4sIGRhcyBtaXQgR05VIEluZm8gZ2VsZXNlbiB3ZXJkZW5cbiIKImthbm4uXG4iCiJcbiIKIk9wdGlvbmVuOlxuIgoiLUQgVkFSICAgICAgICAgICAgICAgICBlaW5lIFZhcmlhYmxlIGRlZmluaWVyZW4sIHdpZSBtaXQgQHNldFxuIgoiLUUgTUFDUk8tQVVTR0FCRURBVEVJICBudXIgZGllIE1hY3JvcyBhdWZs9nNlbiwgVGV4aW5mby1RdWVsbHRleHQgYXVzZ2ViZW5cbiIKIi1JIFZFUlogICAgICAgICAgICAgICAgVkVSWiBpbiBkaWUgVmVyemVpY2huaXMtU3VjaGxpc3RlIGb8ciBAaW5jbHVkZSAiCiJhdWZuZWhtZW5cbiIKIi1QIERJUiAgICAgICAgICAgICAgICAgVkVSWiBkZW0gQGluY2x1ZGUgVmVyemVpY2huaXMtU3VjaHBmYWQgdm9yYW5zdGVsbGVuXG4iCiItVSBWQVIgICAgICAgICAgICAgICAgIGVpbmUgVmFyaWFibGUgYXVmaGViZW4sIHdpZSBtaXQgQGNsZWFyXG4iCiItLWVycm9yLWxpbWl0IFpBSEwgICAgIG5hY2ggWkFITCBGZWhsZXJuIGJlZW5kZW4gKFN0YW5kYXJkICVkKVxuIgoiLS1maWxsLWNvbHVtbiBaQUhMICAgICBaZWlsZW4gbmFjaCBaQUhMIFplaWNoZW4gdW1icmVjaGVuIChTdGFuZGFyZCAlZClcbiIKIi0tZm9vdG5vdGUtc3R5bGUgU1RZTEUgRnXfbm90ZW4gZ2Vt5N8gU1RZTEUgYXVzZ2ViZW46XG4iCiIgICAgICAgICAgICAgICAgICAgICAgILtzZXBhcmF0Zas6IEZ1325vdGVuIGluIGVpbmVuIGVpZ2VuZW4gS25vdGVuICIKInBsYXppZXJlbjtcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICC7ZW5kqzogRnXfbm90ZW4gYW4gZGFzIEVuZGUgZGVzIEtub3RlbiBzZXR6ZW4sICIKImluXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbSBzaWUgZGVmaW5pZXJ0IHNpbmQgKFN0YW5kYXJkKVxuIgoiLS1mb3JjZSAgICAgICAgICAgICAgICBBdXNnYWJlIGF1Y2ggYmVpIEZlaGxlcm4gYXVmYmV3YWhyZW5cbiIKIi0taGVscCAgICAgICAgICAgICAgICAgZGllc2UgSGlsZmUgemVpZ2VuXG4iCiItLW5vLXZhbGlkYXRlICAgICAgICAgINxiZXJwcvxmZW4gZGVyIFwibm9kZVwiLVF1ZXJ2ZXJ3ZWlzZSB1bnRlcmRy/GNrZW5cbiIKIi0tbm8td2FybiAgICAgICAgICAgICAgV2FybnVuZ2VuIHVudGVyZHL8Y2tlbiAoYWJlciBrZWluZSBGZWhsZXIpXG4iCiItLW5vLXNwbGl0ICAgICAgICAgICAgIEF1ZnRlaWxlbiBsYW5nZXIgRGF0ZWllbiB1bnRlcmRy/GNrZW5cbiIKIi0tbm8taGVhZGVycyAgICAgICAgICAgS25vdGVuLVVudGVydGVpbGVyIHVuZCBcIk5vZGU6IEZvb1wiIEtvcGZ6ZWlsZW5cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgdW50ZXJkcvxja2VuXG4iCiItLW91dHB1dCBEQVRFSSwgLW8gREFURUlcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgQXVzZ2FiZSBuYWNoIERBVEVJIHVuZCBAc2V0ZmlsZW5hbWUgaWdub3JpZXJlblxuIgoiLS1wYXJhZ3JhcGgtaW5kZW50IFpBSEwvu25vbmWrL7thc2lzq1xuIgoiICAgICAgICAgICAgICAgICAgICAgICBBYnPkdHplIG1pdCBaQUhMIExlZXJy5HVtZW4gZWluemllaGVuIChTdGFuZGFyZCAlZCk7XG4iCiIgICAgICAgICAgICAgICAgICAgICAgILtub25lqzoga2VpbmUgTGVlcnLkdW1lXG4iCiIgICAgICAgICAgICAgICAgICAgICAgILthc2lzqzoga2VpbmUgVmVy5G5kZXJ1bmcgaGluc2ljaHRsaWNoIGRlciBMZWVycuR1bWVcbiIKIi0tcmVmZXJlbmNlLWxpbWl0IFpBSEwgICBiZWkgd2VuaWdzdGVucyBaQUhMIFZlcndlaXNlIG1lbGRlbiAoU3RhbmRhcmQgJWQpXG4iCiItLXZlcmJvc2UgICAgICAgICAgICAgIGF1c2b8aHJsaWNoIGRpZSBCZWFyYmVpdHVuZ3NjaHJpdHRlIGFuemVpZ2VuXG4iCiItLXZlcnNpb24gICAgICAgICAgICAgIFByb2dyYW1tdmVyc2lvbiBhbnplaWdlblxuIgoiXG4iCiJGZWhsZXJiZXJpY2h0ZSAoXCJidWdzXCIpIGJpdHRlIGFuIDxidWctdGV4aW5mb0BnbnUub3JnPiBzY2hpY2tlbi5cbiIKIlxuIgoiRvxyIGRpZSBkZXV0c2NoZSDcYmVyc2V0enVuZyBpc3QgZGllIE1haWxpbmdsaXN0ZSA8ZGVAbGkub3JnPiB6dXN05G5kaWcuXG4iCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjE1NTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBnZXR3ZDogJXMsICVzXG4iCm1zZ3N0ciAiIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzoxNzQ4CiMsIGMtZm9ybWF0Cm1zZ2lkICJFeHBlY3RlZCBgJXMnIgptc2dzdHIgIkVyd2FydGV0ILslc6siCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjIwODIKIywgYy1mb3JtYXQKbXNnaWQgIk5vIGAlcycgZm91bmQgaW4gYCVzJyIKbXNnc3RyICJLZWluILslc6sgaW4guyVzqyBnZWZ1bmRlbiIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6MjEzMgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IFNraXBwaW5nIG1hY3JvIGV4cGFuc2lvbiB0byBzdGRvdXQgYXMgSW5mbyBvdXRwdXQgaXMgZ29pbmcgdGhlcmUuXG4iCm1zZ3N0ciAiIgoiJXM6IE1hY3JvLUF1Zmz2c3VuZyBuYWNoIGRlciBTdGFuZGFyZC1BdXNnYWJlLCBkYSBhdWNoIGRpZSBJbmZvLUF1c2dhYmUgbmFjaCAiCiJkb3J0IGdlaHQuXG4iCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjIxNTEKIywgYy1mb3JtYXQKbXNnaWQgIk1ha2luZyAlcyBmaWxlIGAlcycgZnJvbSBgJXMnLlxuIgptc2dzdHIgIkVyemV1Z2UgJXMgRGF0ZWkguyVzqyB2b24guyVzqy5cbiIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6MjE4MQojLCBjLWZvcm1hdAptc2dpZCAiVGhpcyBpcyBJbmZvIGZpbGUgJXMsIHByb2R1Y2VkIGJ5IE1ha2VpbmZvIHZlcnNpb24gJWQuJWQiCm1zZ3N0ciAiRGllcyBpc3QgZGllIEluZm8tRGF0ZWkgJXMsIGhlcmdlc3RlbGx0IHZvbiBNYWtlaW5mbyBWZXJzaW9uICVkLiVkIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzoyMTgzCiMsIGMtZm9ybWF0Cm1zZ2lkICIgZnJvbSB0aGUgaW5wdXQgZmlsZSAlcy5cbiIKbXNnc3RyICIgYXVzIGRlciBFaW5nYWJlLURhdGVpICVzLlxuIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzoyMjAyCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIlczogUmVtb3ZpbmcgbWFjcm8gb3V0cHV0IGZpbGUgYCVzJyBkdWUgdG8gZXJyb3JzOyB1c2UgLS1mb3JjZSB0byBwcmVzZXJ2ZS5cbiIKbXNnc3RyICIiCiIlczogRW50ZmVybmUgTWFjcm8tQXVzZ2FiZS1EYXRlaSC7JXOrIHdlZ2VuIGRlciBGZWhsZXI7IC0tZm9yY2UgYmVudXR6ZW4sIHVtICIKImRpZXNlIGJlaXp1YmVoYWx0ZW4uXG4iCgojLiBJZiB0aGVyZSB3ZXJlIGVycm9ycywgYW5kIG5vIC0tZm9yY2UsIHJlbW92ZSB0aGUgb3V0cHV0LgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjIyMzQKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBSZW1vdmluZyBvdXRwdXQgZmlsZSBgJXMnIGR1ZSB0byBlcnJvcnM7IHVzZSAtLWZvcmNlIHRvIHByZXNlcnZlLlxuIgptc2dzdHIgIiIKIiVzOiBFbnRmZXJuZSBBdXNnYWJlLURhdGVpILslc6sgd2VnZW4gZGVyIEZlaGxlcjsgLS1mb3JjZSBiZW51dHplbiwgdW0gZGllc2UgIgoiYmVpenViZWhhbHRlbi5cbiIKCiMuIFNwZWNpYWwgY2FzZS4gIEknbSBub3Qgc3VwcG9zZWQgdG8gc2VlIHRoaXMgY2hhcmFjdGVyIGJ5IGl0c2VsZi4KIy4gSWYgSSBkbywgaXQgbWVhbnMgdGhlcmUgaXMgYSBzeW50YXggZXJyb3IgaW4gdGhlIGlucHV0IHRleHQuCiMuIFJlcG9ydCB0aGUgZXJyb3IgaGVyZSwgYnV0IHJlbWVtYmVyIHRoaXMgYnJhY2Ugb24gdGhlIHN0YWNrIHNvCiMuIHlvdSBjYW4gaWdub3JlIGl0cyBwYXJ0bmVyLgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjIzNzQgbWFrZWluZm8vbWFrZWluZm8uYzo3NjI5CiMsIGMtZm9ybWF0Cm1zZ2lkICJNaXNwbGFjZWQgJWMiCm1zZ3N0ciAiRmVobHBsYXppZXJ0ZSAlYyIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6MjQ2MQojLCBjLWZvcm1hdAptc2dpZCAiVW5rbm93biBjb21tYW5kIGAlcyciCm1zZ3N0ciAiVW5iZWthbm50ZXIgQmVmZWhsILslc6siCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjI0ODEKbXNnaWQgIk5PX05BTUUhIgptc2dzdHIgIiIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6MjQ5NQojLCBjLWZvcm1hdAptc2dpZCAiJWMlcyBleHBlY3RlZCBgey4uLn0nIgptc2dzdHIgIiVjJXMgZXJ3YXJ0ZXRlILt7Li4ufasiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjI1MjgKbXNnaWQgIlVubWF0Y2hlZCB9Igptc2dzdHIgIk5pY2h0IPxiZXJlaW5zdGltbWVuZGUgfSIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6MjU3NgojLCBjLWZvcm1hdAptc2dpZCAiJWMlcyBtaXNzaW5nIGNsb3NlIGJyYWNlIgptc2dzdHIgIiVjJXMgZmVobGVuZGUgc2NobGll32VuZGUgS2xhbW1lciIKCiMgY2hlY2tpdAojIPxzPyAta2UtCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6MzM3Mgptc2dpZCAiQnJva2VuLVR5cGUgaW4gaW5zZXJ0aW9uX3R5cGVfcG5hbWUiCm1zZ3N0ciAiIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzozNDM4Cm1zZ2lkICJFbnVtZXJhdGlvbiBzdGFjayBvdmVyZmxvdyIKbXNnc3RyICJOdW1tZXJpZXJ1bmdzc3RhY2st3GJlcmxhdWYiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjM0NzAKIywgYy1mb3JtYXQKbXNnaWQgImxldHRlcmluZyBvdmVyZmxvdywgcmVzdGFydGluZyBhdCAlYyIKbXNnc3RyICJCdWNoc3RhYmVuLVrkaGx1bmdzLdxiZXJsYXVmLCBiZWdpbm5lIHdpZWRlciBiZWkgJWMiCgojIGNoZWNraXQKIyD8YmVyc2V0emVuPyAta2UtCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6MzUwOQptc2dpZCAiKiBNZW51OlxuIgptc2dzdHIgIiogTWVu/DpcbiIKCiMgY2hlY2tpdAojOiBtYWtlaW5mby9tYWtlaW5mby5jOjM1OTMKIywgYy1mb3JtYXQKbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50OiB0aGUgZm9ybWF0dGVyIGZvciAlY2l0ZW0iCm1zZ3N0ciAiJXMgZXJmb3JkZXJ0IGVpbiBBcmd1bWVudDogZGVyIEZvcm1hdGllcmVyIGb8ciAlY2l0ZW0iCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjM2OTcKIywgYy1mb3JtYXQKbXNnaWQgImAlY2VuZCcgZXhwZWN0ZWQgYCVzJywgYnV0IHNhdyBgJXMnIgptc2dzdHIgIrslY2VuZKsgZXJ3YXJ0ZXRlILslc6ssIGFiZXIgYmVrYW0guyVzqyIKCiMgY2hlY2tpdAojOiBtYWtlaW5mby9tYWtlaW5mby5jOjM4MTAKIywgYy1mb3JtYXQKbXNnaWQgIk5vIG1hdGNoaW5nIGAlY2VuZCAlcyciCm1zZ3N0ciAiTmljaHQg/GJlcmVpbnN0aW1tZW5kZSC7JWNlbmQgJXOrIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzozOTQ5CiMsIGMtZm9ybWF0Cm1zZ2lkICJIb3cgZGlkIEAlcyBlbmQgdXAgaW4gY21fc3BlY2lhbF9jaGFyP1xuIgptc2dzdHIgIlp1IHdhcyBm/GhydCBAJXMgaW4gY21fc3BlY2lhbF9jaGFyP1xuIgoKIy4gVGhpcyBlcnJvciBtZXNzYWdlIGlzbid0IHBlcmZlY3QgaWYgdGhlIGFyZ3VtZW50IGlzIG11bHRpcGxlCiMuIGNoYXJhY3RlcnMsIGJ1dCBpdCBkb2Vzbid0IHNlZW0gd29ydGggZ2V0dGluZyByaWdodC4KIzogbWFrZWluZm8vbWFrZWluZm8uYzozOTYzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlYyVzIGV4cGVjdHMgYGknIG9yIGBqJyBhcyBhcmd1bWVudCwgbm90IGAlYyciCm1zZ3N0ciAiJWMlcyBlcndhcnRldCC7aasgb2RlciC7aqsgYWxzIEFyZ3VtZW50LCBuaWNodCC7JWOrIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzozOTY3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlYyVzIGV4cGVjdHMgYSBzaW5nbGUgY2hhcmFjdGVyIGBpJyBvciBgaicgYXMgYXJndW1lbnQiCm1zZ3N0ciAiJWMlcyBlcndhcnRldCBlaW5lbiBlaW56aWdlbiBCdWNoc3RhYmVuILtpqyBvZGVyILtqqyBhbHMgQXJndW1lbnQiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjM5NzkKbXNnaWQgIkphbnVhcnkiCm1zZ3N0ciAiSmFudWFyIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzozOTc5Cm1zZ2lkICJGZWJydWFyeSIKbXNnc3RyICJGZWJydWFyIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzozOTc5Cm1zZ2lkICJNYXJjaCIKbXNnc3RyICJN5HJ6IgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzozOTc5Cm1zZ2lkICJBcHJpbCIKbXNnc3RyICJBcHJpbCIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6Mzk3OQptc2dpZCAiTWF5Igptc2dzdHIgIk1haSIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6Mzk4MAptc2dpZCAiSnVuZSIKbXNnc3RyICJKdW5pIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzozOTgwCm1zZ2lkICJKdWx5Igptc2dzdHIgIkp1bGkiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjM5ODAKbXNnaWQgIkF1Z3VzdCIKbXNnc3RyICJBdWd1c3QiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjM5ODAKbXNnaWQgIlNlcHRlbWJlciIKbXNnc3RyICJTZXB0ZW1iZXIiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjM5ODAKbXNnaWQgIk9jdG9iZXIiCm1zZ3N0ciAiT2t0b2JlciIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6Mzk4MQptc2dpZCAiTm92ZW1iZXIiCm1zZ3N0ciAiTm92ZW1iZXIiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjM5ODEKbXNnaWQgIkRlY2VtYmVyIgptc2dzdHIgIkRlemVtYmVyIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo0MDM5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlYyVzIGV4cGVjdHMgYSBzaW5nbGUgY2hhcmFjdGVyIGFzIGFuIGFyZ3VtZW50Igptc2dzdHIgIiVjJXMgZXJ3YXJ0ZXQgZWluZW4gZWluemlnZW4gQnVjaHN0YWJlbiBhbHMgQXJndW1lbnQiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjQxNTMKIywgYy1mb3JtYXQKbXNnaWQgIiVjJXMgaXMgb2Jzb2xldGUiCm1zZ3N0ciAiJWMlcyBpc3Qgb2Jzb2xldCIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NDMyNQojLCBjLWZvcm1hdAptc2dpZCAiTm9kZSB3aXRoICVjdG9wIGFzIGEgc2VjdGlvbiBhbHJlYWR5IGV4aXN0cyIKbXNnc3RyICJLb25vdGVuIG1pdCAlY3RvcCBhbHMgQWJzY2huaXR0IGV4aXN0aWVydCBiZXJlaXRzIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo0MzM3CiMsIGMtZm9ybWF0Cm1zZ2lkICJIZXJlIGlzIHRoZSAlY3RvcCBub2RlIgptc2dzdHIgIkhpZXIgaXN0IGRlciBLbm90ZW4gJWN0b3AiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjQzNTYKIywgYy1mb3JtYXQKbXNnaWQgIiVjdG9wIHVzZWQgYmVmb3JlICVjbm9kZSwgZGVmYXVsdGluZyB0byAlcyIKbXNnc3RyICIlY3RvcCB2b3IgJWNub2RlIGdlYnJhdWNodCwgYWxzIFN0YW5kYXJkICVzIGdlbm9tbWVuIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo0NDMxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlYyVzIGlzIG9ic29sZXRlOyB1c2UgJWMlcyBpbnN0ZWFkIgptc2dzdHIgIiVjJXMgaXN0IG9ic29sZXQ7IHN0YXR0ZGVzc2VuICVjJXMgYmVudXR6ZW4iCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjQ2ODAKIywgYy1mb3JtYXQKbXNnaWQgIk5vZGUgYCVzJyBtdWx0aXBseSBkZWZpbmVkIChsaW5lICVkIGlzIGZpcnN0IGRlZmluaXRpb24gYXQpIgptc2dzdHIgIktub3RlbiC7JXOrIG1laHJmYWNoIGRlZmluaWVydCAoaW4gWmVpbGUgJWQgaXN0IGVyc3RlIERlZmluaXRpb24pIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo0NzUzCiMsIGMtZm9ybWF0Cm1zZ2lkICJGb3JtYXR0aW5nIG5vZGUgJXMuLi5cbiIKbXNnc3RyICJGb3JtYXRpZXJlIEtub3RlbiAlcy4uLlxuIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo0ODAyCiMsIGMtZm9ybWF0Cm1zZ2lkICJOb2RlIGAlcycgcmVxdWlyZXMgYSBzZWN0aW9uaW5nIGNvbW1hbmQgKGUuZy4gJWMlcykiCm1zZ3N0ciAiS25vdGVuILslc6sgZXJmb3JkZXJ0IGVpbmUgQWJzY2huaXR0LUFuZ2FiZSAoei5CLiAlYyVzKSIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NTA4NQojLCBjLWZvcm1hdAptc2dpZCAiTm9kZSBgJXMnJ3MgTmV4dCBmaWVsZCBub3QgcG9pbnRlZCBiYWNrIHRvIgptc2dzdHIgIlwiTmV4dCBmaWVsZFwiIGRlcyBLbm90ZW5zILslc6sgdmVyd2Vpc3QgbmljaHQgenVy/GNrIG5hY2giCgojIGNoZWNraXQKIzogbWFrZWluZm8vbWFrZWluZm8uYzo1MDkwCiMsIGMtZm9ybWF0Cm1zZ2lkICJUaGlzIG5vZGUgKGAlcycpIGlzIHRoZSBvbmUgd2l0aCB0aGUgYmFkIGBQcmV2JyIKbXNnc3RyICJEaWVzZXIgS25vdGVuICi7JXOrKSBoYXQgc2NobGVjaHRlbig/KSBcIlByZXZcIi1FaW50cmFnIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo1MTMwCiMsIGMtZm9ybWF0Cm1zZ2lkICJOb2RlIGAlcydzIFByZXYgZmllbGQgbm90IHBvaW50ZWQgYmFjayB0byIKbXNnc3RyICJEYXMgXCJQcmV2IGZpZWxkXCIgZGVzIEtub3RlbnMguyVzqyB2ZXJ3ZWlzdCBuaWNodCB6dXL8Y2sgbmFjaCIKCiMgY2hlY2tpdAojOiBtYWtlaW5mby9tYWtlaW5mby5jOjUxMzQKIywgYy1mb3JtYXQKbXNnaWQgIlRoaXMgbm9kZSAoYCVzJykgaGFzIHRoZSBiYWQgTmV4dCIKbXNnc3RyICJEaWVzZXIgS25vdGVuICi7JXOrKSBoYXQgc2NobGVjaHRlbig/KSBcIk5leHRcIi1FaW50cmFnIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo1MTQ2CiMsIGMtZm9ybWF0Cm1zZ2lkICJOb2RlIGAlcycgbWlzc2luZyBVcCBmaWVsZCIKbXNnc3RyICJEZW0gS25vdGVuILslc6sgZmVobHQgZWluIFwiVXAgZmllbGRcIiIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NTE4NgojLCBjLWZvcm1hdAptc2dpZCAiYCVzJyBoYXMgYW4gVXAgZmllbGQgb2YgYCVzJywgYnV0IGAlcycgaGFzIG5vIG1lbnUgaXRlbSBmb3IgYCVzJyIKbXNnc3RyICIiCiK7JXOrIGhhdCBlaW4gXCJVcCBmaWVsZFwiIHZvbiC7JXOrLCBhYmVyILslc6sgaGF0IGtlaW5lbiBNZW78LUVpbnRyYWcgZvxyICIKIrslc6siCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjUyMTcKIywgYy1mb3JtYXQKbXNnaWQgIm5vZGUgYCVzJyBoYXMgYmVlbiByZWZlcmVuY2VkICVkIHRpbWVzIgptc2dzdHIgImF1ZiBLbm90ZW4guyVzqyB3aXJkICVkIG1hbCB2ZXJ3aWVzZW4iCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjUyMjkKIywgYy1mb3JtYXQKbXNnaWQgInVucmVmZXJlbmNlZCBub2RlIGAlcyciCm1zZ3N0ciAiYXVmIEtub3RlbiC7JXOrIHdpcmQgbmljaHQgdmVyd2llc2VuIgoKIyBjaGVja2l0CiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NTI1NgojLCBjLWZvcm1hdAptc2dpZCAiJXMgcmVmZXJlbmNlIHRvIG5vbmV4aXN0ZW50IG5vZGUgYCVzJyIKbXNnc3RyICJWZXJ3ZWlzICVzIGF1ZiBkZW4gbmljaHQgZXhpc3RpZXJlbmRlbiBLbm90ZW4guyVzqyIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NTY2OCBtYWtlaW5mby9tYWtlaW5mby5jOjU2ODAKIywgYy1mb3JtYXQKbXNnaWQgIiVjbWVudSBzZWVuIGJlZm9yZSBmaXJzdCBub2RlIgptc2dzdHIgIiVjbWVudSBmZXN0Z2VzdGVsbHQsIGJldm9yIGRlciBlcnN0ZSBLbm90ZW4gZGVmaW5pZXJ0IHd1cmRlIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo1NjY5IG1ha2VpbmZvL21ha2VpbmZvLmM6NTY4MQptc2dpZCAiY3JlYXRpbmcgYFRvcCcgbm9kZSIKbXNnc3RyICK7VG9wqy1Lbm90ZW4gd2lyZCBhbmdlbGVndCIKCiMgY2hlY2tpdAojOiBtYWtlaW5mby9tYWtlaW5mby5jOjU3OTQKIywgYy1mb3JtYXQKbXNnaWQgImAuJyBvciBgLCcgbXVzdCBmb2xsb3cgY3Jvc3MgcmVmZXJlbmNlLCBub3QgJWMiCm1zZ3N0ciAiuy6rIG9yILssqyBtdXNzIGVpbmVtIFF1ZXJ2ZXJ3ZWlzIGZvbGdlbiwgbmljaHQgJWMiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjU5NjIKIywgYy1mb3JtYXQKbXNnaWQgIkBpbWFnZSBmaWxlIGAlcycgdW5yZWFkYWJsZTogJXMiCm1zZ3N0ciAiQGltYWdlLURhdGVpILslc6sgbmljaHQgbGVzYmFyOiAlcyIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NTk2Ngptc2dpZCAiQGltYWdlIG1pc3NpbmcgZmlsZW5hbWUgYXJndW1lbnQiCm1zZ3N0ciAiQGltYWdlIGZlaGx0IGFscyBBcmd1bWVudCBlaW4gRGF0ZWluYW1lIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo2MDY3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyByZXF1aXJlcyBsZXR0ZXIgb3IgZGlnaXQiCm1zZ3N0ciAiJXMgZXJmb3JkZXJ0IGVpbmVuIEJ1Y2hzdGFiZW4gb2RlciBlaW5lIFphaGwiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjYxNTIKIywgYy1mb3JtYXQKbXNnaWQgIlVubWF0Y2hlZCBgJWMlcyciCm1zZ3N0ciAiTmljaHQg/GJlcmVpbnN0aW1tZW5kZSC7JWMlc6siCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjYxNTkKIywgYy1mb3JtYXQKbXNnaWQgImAlYyVzJyBuZWVkcyBzb21ldGhpbmcgYWZ0ZXIgaXQiCm1zZ3N0ciAiuyVjJXOrIGJyYXVjaHQgZXR3YXMgTmFjaGZvbGdlbmRlcyIKCiMgY2hlY2tpdAojOiBtYWtlaW5mby9tYWtlaW5mby5jOjYxNjUKIywgYy1mb3JtYXQKbXNnaWQgIkJhZCBhcmd1bWVudCB0byBgJXMnLCBgJXMnLCB1c2luZyBgJXMnIgptc2dzdHIgIkZhbHNjaGVzIEFyZ3VtZW50IGb8ciC7JXOrLCC7JXOrLCB3ZW5uILslc6sgYmVudXR6dCB3aXJkIgoKIyBjaGVja2l0CiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NjMzOAojLCBjLWZvcm1hdAptc2dpZCAie05vIFZhbHVlIEZvciBcIiVzXCJ9Igptc2dzdHIgIntLZWluIFdlcnQgRvxyILslc6t9IgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo2Mzg4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlYyVzIHJlcXVpcmVzIGEgbmFtZSIKbXNnc3RyICIlYyVzIGVyZm9yZGVydCBlaW5lbiBOYW1lbiIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NjQ5NgojLCBjLWZvcm1hdAptc2dpZCAiUmVhY2hlZCBlb2YgYmVmb3JlIG1hdGNoaW5nIEBlbmQgJXMiCm1zZ3N0ciAiRGFzIEVuZGUgZGVyIERhdGVpIHZvciBkZW0gZXJmb3JkZXJsaWNoZW4gQGVuZCAlcyBlcnJlaWNodCIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NjcyMgojLCBjLWZvcm1hdAptc2dpZCAiVGhlIGAlYyVzJyBjb21tYW5kIGlzIG1lYW5pbmdsZXNzIHdpdGhpbiBhIGBAJXMnIGJsb2NrIgptc2dzdHIgIkRlciC7JWMlc6stQmVmZWhsIGlzdCBzaW5ubG9zIGlubmVyaGFsYiBlaW5lcyC7QCVzqy1CbG9ja3MiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjY3MzEKIywgYy1mb3JtYXQKbXNnaWQgIiVjaXRlbXggaXMgbm90IG1lYW5pbmdmdWwgaW5zaWRlIG9mIGEgYCVzJyBibG9jayIKbXNnc3RyICIlY2l0ZW14IGlzdCBuaWNodCBzaW5udm9sbCBpbm5lcmhhbGIgZWluZXMgu0Alc6stQmxvY2tzIgoKIyBjaGVja2l0CiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6Njg0NAojLCBjLWZvcm1hdAptc2dpZCAiJWMlcyBmb3VuZCBvdXRzaWRlIG9mIGFuIGluc2VydGlvbiBibG9jayIKbXNnc3RyICIlYyVzIGF132VyaGFsYiBlaW5lcyBFaW5m/Gd1bmdzYmxvY2tzIGdlZnVuZGVuIgoKIyBjaGVja2l0CiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NjkzNQojLCBjLWZvcm1hdAptc2dpZCAiTWlzc2luZyBgfScgaW4gJWNkZWYgYXJnIgptc2dzdHIgIkZlaGxlbmRlILt9qyBpbiC7JWNkZWarLUFyZ3VtZW50IgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo3MTQ0IG1ha2VpbmZvL21ha2VpbmZvLmM6NzE2NAptc2dpZCAiRnVuY3Rpb24iCm1zZ3N0ciAiIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo3MTQ4Cm1zZ2lkICJNYWNybyIKbXNnc3RyICIiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjcxNTIKbXNnaWQgIlNwZWNpYWwgRm9ybSIKbXNnc3RyICIiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjcxNTYgbWFrZWluZm8vbWFrZWluZm8uYzo3MTY4Cm1zZ2lkICJWYXJpYWJsZSIKbXNnc3RyICIiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjcxNjAKbXNnaWQgIlVzZXIgT3B0aW9uIgptc2dzdHIgIkJlbnV0emVyLU9wdGlvbiIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NzE3Mgptc2dpZCAiSW5zdGFuY2UgVmFyaWFibGUiCm1zZ3N0ciAiIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo3MTc2IG1ha2VpbmZvL21ha2VpbmZvLmM6NzE4MAptc2dpZCAiTWV0aG9kIgptc2dzdHIgIiIKCiMgY2hlY2tpdAojOiBtYWtlaW5mby9tYWtlaW5mby5jOjczMzUKIywgYy1mb3JtYXQKbXNnaWQgIk11c3QgYmUgaW4gYSBgJXMnIGluc2VydGlvbiBpbiBvcmRlciB0byB1c2UgYCVzJ3giCm1zZ3N0ciAiTXVzcyBpbiBlaW5lciC7JXOrLUVpbmb8Z3VuZyBzZWluLCB3ZW5uILslc6t4IGJlbnV0enQgd2VyZGVuIHNvbGwiCgojIGNoZWNraXQKIzogbWFrZWluZm8vbWFrZWluZm8uYzo3NDA3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlY3NwIHJlcXVpcmVzIGEgcG9zaXRpdmUgbnVtZXJpYyBhcmd1bWVudCIKbXNnc3RyICK7JWNzcKsgZXJmb3JkZXJ0IGVpbiBwb3NpdGl2ZXMgbnVtZXJpc2NoZXMgQXJndW1lbnQiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjc2NTAKbXNnaWQgImFzaXMiCm1zZ3N0ciAiZ2VuYXUiCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjc2NTIKbXNnaWQgIm5vbmUiCm1zZ3N0ciAia2VpbiIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6NzY3NAojLCBjLWZvcm1hdAptc2dpZCAiQmFkIGFyZ3VtZW50IHRvICVjJXMiCm1zZ3N0ciAiRmFsc2NoZXMgQXJndW1lbnQgZvxyILslYyVzqyIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6Nzk2NgojLCBjLWZvcm1hdAptc2dpZCAiVW5rbm93biBpbmRleCBgJXMnIgptc2dzdHIgIlVuYmVrYW5udGVyIEluZGV4ILslc6siCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjgwMzEKIywgYy1mb3JtYXQKbXNnaWQgIkluZGV4IGAlcycgYWxyZWFkeSBleGlzdHMiCm1zZ3N0ciAiSW5kZXgguyVzqyBpc3Qgc2Nob24gdm9yaGFuZGVuIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo4MDYyCiMsIGMtZm9ybWF0Cm1zZ2lkICJVbmtub3duIGluZGV4IGAlcycgYW5kL29yIGAlcycgaW4gQHN5bmluZGV4Igptc2dzdHIgIlVuYmVrYW5udGVyIEluZGV4ILslc6sgdW5kIC9vZGVyIHVuYmVrYW5udGVyILslc6sgaW4gQHN5bmluZGV4IgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo4MjUxCiMsIGMtZm9ybWF0Cm1zZ2lkICJVbmtub3duIGluZGV4IGAlcycgaW4gQHByaW50aW5kZXgiCm1zZ3N0ciAiVW5iZWthbm50ZXIgSW5kZXgguyVzqyBpbiBAcHJpbnRpbmRleCIKCiMg/GJlcnNldHplbj8gLWtlLQojOiBtYWtlaW5mby9tYWtlaW5mby5jOjgyNjYKbXNnaWQgIiIKIiogTWVudTpcbiIKIlxuIgptc2dzdHIgIiIKIiogTWVu/DpcbiIKIlxuIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo4NDUzCiMsIGMtZm9ybWF0Cm1zZ2lkICJgJWMlcycgbmVlZHMgYW4gYXJndW1lbnQgYHsuLi59Jywgbm90IGp1c3QgYCVzJyIKbXNnc3RyICK7JWMlc6sgYnJhdWNodCBkYXMgQXJndW1lbnQgaW4gZGVyIEZvcm0gu3suLi59qywgbmljaHQgbnVyILslc6siCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjg0NjgKIywgYy1mb3JtYXQKbXNnaWQgIk5vIGNsb3NpbmcgYnJhY2UgZm9yIGZvb3Rub3RlIGAlcyciCm1zZ3N0ciAiS2VpbmUgc2NobGll32VuZGUgS2xhbW1lciBm/HIgRnXfbm90ZSC7JXOrIgoKIyBjaGVja2l0CiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6ODUwNwptc2dpZCAiRm9vdG5vdGUgZGVmaW5lZCB3aXRob3V0IHBhcmVudCBub2RlIgptc2dzdHIgIkZ1325vdGUgZGVmaW5pZXJ0IG9obmUgZWluZW4gRWx0ZXJuLVwibm9kZVwiIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo4NTM5Cm1zZ2lkICItRm9vdG5vdGVzIgptc2dzdHIgIi1Gdd9ub3RlbiIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6ODU5NAptc2dpZCAiIgoiLS0tLS0tLS0tLSBGb290bm90ZXMgLS0tLS0tLS0tLVxuIgoiXG4iCm1zZ3N0ciAiIgoiLS0tLS0tLS0tLS0gRnXfbm90ZW4gLS0tLS0tLS0tLS1cbiIKIlxuIgoKIzogbWFrZWluZm8vbWFrZWluZm8uYzo4NjkwCiMsIGMtZm9ybWF0Cm1zZ2lkICJtYWNybyBgJXMnIHByZXZpb3VzbHkgZGVmaW5lZCIKbXNnc3RyICJNYWNybyC7JXOrIGlzdCBiZXJlaXRzIGRlZmluaWVydCIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6ODY5NAojLCBjLWZvcm1hdAptc2dpZCAiaGVyZSBpcyB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbiBvZiBgJXMnIgptc2dzdHIgIkhpZXIgaXN0IGRpZSB2b3JhbmdlaGVuZGUgRGVmaW5pdGlvbiB2b24guyVzqyIKCiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6ODkwOAojLCBjLWZvcm1hdAptc2dpZCAiTWFjcm8gYCVzJyBjYWxsZWQgd2l0aCB0b28gbWFueSBhcmdzIgptc2dzdHIgIk1hY3JvILslc6sgbWl0IHp1IHZpZWxlbiBBcmd1bWVudGVuIGF1ZmdlcnVmZW4iCgojOiBtYWtlaW5mby9tYWtlaW5mby5jOjkwNjAKIywgYy1mb3JtYXQKbXNnaWQgIiVjZW5kIG1hY3JvIG5vdCBmb3VuZCIKbXNnc3RyICK7JWNlbmSrLU1hY3JvIG5pY2h0IGdlZnVuZGVuIgoKIyBjaGVja2l0CiM6IG1ha2VpbmZvL21ha2VpbmZvLmM6OTEwMAojLCBjLWZvcm1hdAptc2dpZCAiJWNxdW90ZS1hcmcgb25seSB1c2VmdWwgd2hlbiB0aGUgbWFjcm8gdGFrZXMgYSBzaW5nbGUgYXJndW1lbnQiCm1zZ3N0ciAiIgoiuyVjcXVvdGWrLUFyZ3VtZW50IGlzdCBudXIgc2lubnZvbGwsIHdlbm4gZGFzIE1hY3JvIGVpbiBlaW56aWdlcyBBcmd1bWVudCBoYXQiCgojOiBtYWtlaW5mby9tdWx0aS5jOjIwNgojLCBjLWZvcm1hdAptc2dpZCAiaWdub3Jpbmcgc3RyYXkgdGV4dCBgJXMnIGFmdGVyIEBtdWx0aXRhYmxlIgptc2dzdHIgImlycmlnZXIgVGV4dCC7JXOrIG5hY2ggQG11bHRpdGFibGUgd2lyZCBpZ25vcmllcnQiCgojOiBtYWtlaW5mby9tdWx0aS5jOjI3NwojLCBjLWZvcm1hdAptc2dpZCAiVG9vIG1hbnkgY29sdW1ucyBpbiBtdWx0aXRhYmxlIGl0ZW0gKG1heCAlZCkiCm1zZ3N0ciAienUgdmllbGUgU3BhbHRlbiBpbSBcIm11bHRpdGFibGVcIi1FaW50cmFnIChtYXhpbWFsICVkKSIKCiMgY2hlY2tpdAojLiBpbXBvc3NpYmxlLCBJIHRoaW5rLgojOiBtYWtlaW5mby9tdWx0aS5jOjMwNAptc2dpZCAibXVsdGl0YWJsZSBpdGVtIG5vdCBpbiBhY3RpdmUgbXVsdGl0YWJsZSIKbXNnc3RyICJcIm11bHRpdGFibGVcIi1FaW50cmFnIG5pY2h0IGluIGRlciBha3RpdmVuIFwibXVsdGl0YWJsZVwiIgoKIzogbWFrZWluZm8vbXVsdGkuYzozMTMKIywgYy1mb3JtYXQKbXNnaWQgIkNhbm5vdCBzZWxlY3QgY29sdW1uICMlZCBpbiBtdWx0aXRhYmxlIgptc2dzdHIgIlNwYWx0ZSAjJWQga2FubiBpbiBkZXIgXCJtdWx0aXRhYmxlXCIgbmljaHQgYXVzZ2V35GhsdCB3ZXJkZW4iCgojOiBtYWtlaW5mby9tdWx0aS5jOjQwNAptc2dpZCAiaWdub3JpbmcgQHRhYiBvdXRzaWRlIG9mIG11bHRpdGFibGUiCm1zZ3N0ciAiQHRhYiBhdd9lcmhhbGIgZGVyIFwibXVsdGl0YWJsZVwiIHdpcmQg/GJlcmdhbmdlbiIKCiMgY2hlY2tpdAojOiBtYWtlaW5mby9tdWx0aS5jOjQyOAptc2dpZCAiKiogTXVsdGljb2x1bW4gb3V0cHV0IGZyb20gbGFzdCByb3c6XG4iCm1zZ3N0ciAiKiogTWVocnNwYWx0ZW4tQXVzZ2FiZSB2b24gZGVyIGxldHp0ZW4gWmVpbGU6XG4iCgojIGNoZWNraXQKIzogbWFrZWluZm8vbXVsdGkuYzo0MzEKIywgYy1mb3JtYXQKbXNnaWQgIiogY29sdW1uICMlZDogb3V0cHV0ID0gJXNcbiIKbXNnc3RyICIqIFNwYWx0ZSAjJWQ6IEF1c2dhYmUgPSAlc1xuIgoKIyBjaGVja2l0CiM6IHV0aWwvaW5zdGFsbC1pbmZvLmM6MTIzIHV0aWwvaW5zdGFsbC1pbmZvLmM6MTM2Cm1zZ2lkICJ2aXJ0dWFsIG1lbW9yeSBleGhhdXN0ZWQiCm1zZ3N0ciAidmlydHVhbCBtZW1vcnkgZXhoYXVzdGVkIgoKIzogdXRpbC9pbnN0YWxsLWluZm8uYzoxOTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiAiCm1zZ3N0ciAiJXM6IFdhcm51bmc6ICIKCiM6IHV0aWwvaW5zdGFsbC1pbmZvLmM6MjEzCiMsIGMtZm9ybWF0Cm1zZ2lkICIgZm9yICVzIgptc2dzdHIgIiBm/HIgJXMiCgojOiB1dGlsL2luc3RhbGwtaW5mby5jOjI4MgojLCBjLWZvcm1hdAptc2dpZCAiXHRUcnkgYCVzIC0taGVscCcgZm9yIGEgY29tcGxldGUgbGlzdCBvZiBvcHRpb25zLlxuIgptc2dzdHIgIrslcyAtLWhlbHCrIGdpYnQgd2VpdGVyZSBJbmZvcm1hdGlvbmVuLlxuIgoKIzogdXRpbC9pbnN0YWxsLWluZm8uYzoyOTAKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlVzYWdlOiAlcyBbT1BUSU9OXS4uLiBbSU5GTy1GSUxFIFtESVItRklMRV1dXG4iCiJcbiIKIkluc3RhbGwgSU5GTy1GSUxFIGluIHRoZSBJbmZvIGRpcmVjdG9yeSBmaWxlIERJUi1GSUxFLlxuIgoiXG4iCiJPcHRpb25zOlxuIgoiLS1kZWxldGUgICAgICAgICAgRGVsZXRlIGV4aXN0aW5nIGVudHJpZXMgaW4gSU5GTy1GSUxFO1xuIgoiICAgICAgICAgICAgICAgICAgICBkb24ndCBpbnNlcnQgYW55IG5ldyBlbnRyaWVzLlxuIgoiLS1kaXItZmlsZT1OQU1FICAgU3BlY2lmeSBmaWxlIG5hbWUgb2YgSW5mbyBkaXJlY3RvcnkgZmlsZS5cbiIKIiAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBlcXVpdmFsZW50IHRvIHVzaW5nIHRoZSBESVItRklMRSBhcmd1bWVudC5cbiIKIi0tZW50cnk9VEVYVCAgICAgIEluc2VydCBURVhUIGFzIGFuIEluZm8gZGlyZWN0b3J5IGVudHJ5LlxuIgoiICAgICAgICAgICAgICAgICAgICBURVhUIHNob3VsZCBoYXZlIHRoZSBmb3JtIG9mIGFuIEluZm8gbWVudSBpdGVtIGxpbmVcbiIKIiAgICAgICAgICAgICAgICAgICAgcGx1cyB6ZXJvIG9yIG1vcmUgZXh0cmEgbGluZXMgc3RhcnRpbmcgd2l0aCB3aGl0ZXNwYWNlLlxuIgoiICAgICAgICAgICAgICAgICAgICBJZiB5b3Ugc3BlY2lmeSBtb3JlIHRoYW4gb25lIGVudHJ5LCB0aGV5IGFyZSBhbGwgYWRkZWQuXG4iCiIgICAgICAgICAgICAgICAgICAgIElmIHlvdSBkb24ndCBzcGVjaWZ5IGFueSBlbnRyaWVzLCB0aGV5IGFyZSBkZXRlcm1pbmVkXG4iCiIgICAgICAgICAgICAgICAgICAgIGZyb20gaW5mb3JtYXRpb24gaW4gdGhlIEluZm8gZmlsZSBpdHNlbGYuXG4iCiItLWhlbHAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdC5cbiIKIi0taW5mby1maWxlPUZJTEUgIFNwZWNpZnkgSW5mbyBmaWxlIHRvIGluc3RhbGwgaW4gdGhlIGRpcmVjdG9yeS5cbiIKIiAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBlcXVpdmFsZW50IHRvIHVzaW5nIHRoZSBJTkZPLUZJTEUgYXJndW1lbnQuXG4iCiItLWluZm8tZGlyPURJUiAgICBTYW1lIGFzIC0tZGlyLWZpbGU9RElSL2Rpci5cbiIKIi0taXRlbT1URVhUICAgICAgIFNhbWUgYXMgLS1lbnRyeSBURVhULlxuIgoiICAgICAgICAgICAgICAgICAgICBBbiBJbmZvIGRpcmVjdG9yeSBlbnRyeSBpcyBhY3R1YWxseSBhIG1lbnUgaXRlbS5cbiIKIi0tcXVpZXQgICAgICAgICAgIFN1cHByZXNzIHdhcm5pbmdzLlxuIgoiLS1yZW1vdmUgICAgICAgICAgU2FtZSBhcyAtLWRlbGV0ZS5cbiIKIi0tc2VjdGlvbj1TRUMgICAgIFB1dCB0aGlzIGZpbGUncyBlbnRyaWVzIGluIHNlY3Rpb24gU0VDIG9mIHRoZSBkaXJlY3RvcnkuXG4iCiIgICAgICAgICAgICAgICAgICAgIElmIHlvdSBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUgc2VjdGlvbiwgYWxsIHRoZSBlbnRyaWVzXG4iCiIgICAgICAgICAgICAgICAgICAgIGFyZSBhZGRlZCBpbiBlYWNoIG9mIHRoZSBzZWN0aW9ucy5cbiIKIiAgICAgICAgICAgICAgICAgICAgSWYgeW91IGRvbid0IHNwZWNpZnkgYW55IHNlY3Rpb25zLCB0aGV5IGFyZSBkZXRlcm1pbmVkXG4iCiIgICAgICAgICAgICAgICAgICAgIGZyb20gaW5mb3JtYXRpb24gaW4gdGhlIEluZm8gZmlsZSBpdHNlbGYuXG4iCiItLXZlcnNpb24gICAgICAgICBEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuXG4iCiJcbiIKIkVtYWlsIGJ1ZyByZXBvcnRzIHRvIGJ1Zy10ZXhpbmZvQGdudS5vcmcuXG4iCm1zZ3N0ciAiIgoiU3ludGF4OiAlcyBbT1BUSU9OXS4uLiBbSU5GTy1EQVRFSSBbVkVSWi1EQVRFSV1dXG4iCiJcbiIKIkluc3RhbGxpZXJlIGRpZSBJTkZPLURBVEVJIGluIGRlbSBJbmZvLVZlcnplaWNobmlzIFZFUlotREFURUkuXG4iCiJcbiIKIk9wdGlvbmVuOlxuIgoiLS1kZWxldGUgICAgICAgICAgZW50ZmVybmUgdm9yaGFuZGVuZSBFaW50cuRnZSBhdXMgSU5GTy1EQVRFSTsga2VpbmUgbmV1ZW5cbiIKIiAgICAgICAgICAgICAgICAgIEVpbnRy5GdlIGVpbmb8Z2VuXG4iCiItLWRpci1maWxlPU5BTUUgICBOYW1lbiBkZXIgSW5mby1WZXJ6ZWljaG5pcy1EYXRlaSBhbmdlYmVuLiAgIgoiR2xlaWNoYmVkZXV0ZW5kXG4iCiIgICAgICAgICAgICAgICAgICBtaXQgZGVtIFZFUlotREFURUktQXJndW1lbnRcbiIKIi0tZW50cnk9VEVYVCAgICAgIFRFWFQgYWxzIGVpbmVuIEluZm8tVmVyemVpY2huaXMtRWludHJhZyBlaW5m/Gdlbi4gIFRFWFQgIgoic29sbFxuIgoiICAgICAgICAgICAgICAgICAgZGllIEZvcm0gZWluZXIgWmVpbGUgZWluZXMgSW5mby1NZW78cHVua3RzIGhhYmVuLFxuIgoiICAgICAgICAgICAgICAgICAgenV6/GdsaWNoIE51bGwgb2RlciBtZWhyZXJlciBFeHRyYS1aZWlsZW4sIGRpZSBtaXQgIgoiTGVlcnJhdW1cbiIKIiAgICAgICAgICAgICAgICAgIChcIndoaXRlc3BhY2VcIikgYmVnaW5uZW4uICBXZW5uIG1laHIgYWxzIGVpbiBFaW50cmFnICIKImFuZ2VnZWJlblxuIgoiICAgICAgICAgICAgICAgICAgd2lyZCwgd2VyZGVuIGFsbGUgaGluenVnZWb8Z3QuICBXZW5uIGdhciBrZWluIEVpbnRyYWdcbiIKIiAgICAgICAgICAgICAgICAgIGFuZ2VnZWJlbiB3aXJkLCB3aXJkIGRlciBFaW50cmFnc3RleHQgZGVyIEluZm8tRGF0ZWkgIgoic2VsYnN0XG4iCiIgICAgICAgICAgICAgICAgICBlbnRub21tZW4uXG4iCiItLWhlbHAgICAgICAgICAgICBkaWVzZSBIaWxmZSB6ZWlnZW5cbiIKIi0taW5mby1maWxlPURBVEVJIEluZm8tRGF0ZWkgYW5nZWJlbiwgZGllIGltIFZlcnplaWNobmlzIHp1IGluc3RhbGxpZXJlbiAiCiJpc3QuXG4iCiIgICAgICAgICAgICAgICAgICBHbGVpY2hiZWRldXRlbmQgbWl0IGRlbSBJTkZPLURBVEVJLUFyZ3VtZW50XG4iCiItLWluZm8tZGlyPVZFUlogICB3aWUgLS1kaXItZmlsZT1WRVJaL2Rpci5cbiIKIi0taXRlbT1URVhUICAgICAgIHdpZSAtLWVudHJ5IFRFWFQuICBFaW4gSW5mby1WZXJ6ZWljaG5pcy1FaW50cmFnIGlzdCAiCiJu5G1saWNoXG4iCiIgICAgICAgICAgICAgICAgICBlaW4gTWVu/HB1bmt0XG4iCiItLXF1aWV0ICAgICAgICAgICBXYXJudW5nZW4gdW50ZXJkcvxja2VuXG4iCiItLXJlbW92ZSAgICAgICAgICB3aWUgLS1kZWxldGVcbiIKIi0tc2VjdGlvbj1BQlNDSE4gIHN0ZWxsZSBkaWUgRWludHLkZ2UgZGllc2VyIERhdGVpIGluIGRlbiBBYnNjaG5pdHQgQUJTQ0hOXG4iCiIgICAgICAgICAgICAgICAgICBkZXMgVmVyemVpY2huaXNzZXMuICBXZW5uIG1laHIgYWxzIGVpbiAtLXNlY3Rpb24gIgoiYW5nZWdlYmVuXG4iCiIgICAgICAgICAgICAgICAgICB3aXJkLCB3ZXJkZW4gYWxsZSBFaW50cuRnZSBpbiBqZWRlbSBkZXIgQWJzY2huaXR0ZVxuIgoiICAgICAgICAgICAgICAgICAgaGluenVnZWb8Z3QuICBXZW5uIGdhciBrZWluIC0tc2VjdGlvbiBhbmdlZ2ViZW4gd2lyZCwgIgoid2lyZFxuIgoiICAgICAgICAgICAgICAgICAgZGVyIEVpbnRyYWdzdGV4dCBkZXIgSW5mby1EYXRlaSBzZWxic3QgZW50bm9tbWVuLlxuIgoiLS12ZXJzaW9uICAgICAgICAgUHJvZ3JhbW12ZXJzaW9uIGFuemVpZ2VuXG4iCiJcbiIKIkZlaGxlcmJlcmljaHRlIChcImJ1Z3NcIikgYml0dGUgYW4gPGJ1Zy10ZXhpbmZvQGdudS5vcmc+IHNjaGlja2VuLlxuIgoiXG4iCiJG/HIgZGllIGRldXRzY2hlINxiZXJzZXR6dW5nIGlzdCBkaWUgTWFpbGluZ2xpc3RlIDxkZUBsaS5vcmc+IHp1c3TkbmRpZy5cbiIKCiM6IHV0aWwvaW5zdGFsbC1pbmZvLmM6MzQxCm1zZ2lkICIiCiJUaGlzIGlzIHRoZSBmaWxlIC4uLi9pbmZvL2Rpciwgd2hpY2ggY29udGFpbnMgdGhlXG4iCiJ0b3Btb3N0IG5vZGUgb2YgdGhlIEluZm8gaGllcmFyY2h5LCBjYWxsZWQgKGRpcilUb3AuXG4iCiJUaGUgZmlyc3QgdGltZSB5b3UgaW52b2tlIEluZm8geW91IHN0YXJ0IG9mZiBsb29raW5nIGF0IHRoaXMgbm9kZS5cbiIKIh9cbiIKIkZpbGU6IGRpcixcdE5vZGU6IFRvcCxcdFRoaXMgaXMgdGhlIHRvcCBvZiB0aGUgSU5GTyB0cmVlXG4iCiJcbiIKIiAgVGhpcyAodGhlIERpcmVjdG9yeSBub2RlKSBnaXZlcyBhIG1lbnUgb2YgbWFqb3IgdG9waWNzLlxuIgoiICBUeXBpbmcgXCJxXCIgZXhpdHMsIFwiP1wiIGxpc3RzIGFsbCBJbmZvIGNvbW1hbmRzLCBcImRcIiByZXR1cm5zIGhlcmUsXG4iCiIgIFwiaFwiIGdpdmVzIGEgcHJpbWVyIGZvciBmaXJzdC10aW1lcnMsXG4iCiIgIFwibUVtYWNzPFJldHVybj5cIiB2aXNpdHMgdGhlIEVtYWNzIG1hbnVhbCwgZXRjLlxuIgoiXG4iCiIgIEluIEVtYWNzLCB5b3UgY2FuIGNsaWNrIG1vdXNlIGJ1dHRvbiAyIG9uIGEgbWVudSBpdGVtIG9yIGNyb3NzIHJlZmVyZW5jZVxuIgoiICB0byBzZWxlY3QgaXQuXG4iCiJcbiIKIiogTWVudTpcbiIKbXNnc3RyICIiCiJEaWVzIGlzdCBkaWUgRGF0ZWkgLi4uL2luZm8vZGlyLCBkaWUgZGVuIG9iZXJzdGVuIEtub3RlbiBkZXJcbiIKIkluZm8tSGllcmFyY2hpZSBlbnRo5Gx0LCBnZW5hbm50IChkaXIpVG9wLlxuIgoiQmVpbSBlcnN0ZW4gQXVmcnVmIHZvbiBJbmZvIGdlaHQgZXMgYmVpIGRpZXNlbSBLbm90ZW4gbG9zLlxuIgoiH1xuIgoiRGF0ZTogZGlyICAgICBLbm90ZW46IFRvcCAgICAgICBEaWVzIGlzdCC7dG9wqyBkZXMgSU5GTy1CYXVtc1xuIgoiXG4iCiIgIERpZXNlciBWZXJ6ZWljaG5pcy1Lbm90ZW4gemVpZ3QgZWluIE1lbvwgYWxsZXIgSGF1cHRwdW5rdGUgYW4uXG4iCiIgIEJlZW5kZW4gbWl0IFwicVwiLCBcIj9cIiBsaXN0ZXQgYWxsZSBJbmZvLUJlZmVobGUgYXVmLCBcImRcIiBrZWhydCBuYWNoICIKImhpZXJoZXJcbiIKIiAgenVy/GNrLCBcImhcIiBnaWJ0IGVpbmUgRWluc3RlaWdlci1IaWxmZSxcbiIKIiAgXCJtRW1hY3M8UmV0dXJuPlwiIGJlc3VjaHQgZGFzIEVtYWNzLU1hbnVhbCwgZXRjLlxuIgoiXG4iCiIgIEltIEVtYWNzIGthbm4gbWFuIG1pdCBtb3VzZS1idXR0b24tMiBhdWYgZWluZW4gTWVu/HB1bmt0IG9kZXIgZWluZW5cbiIKIiAgUXVlcnZlcndlaXMga2xpY2tlbiwgdW0gZWluZW4gc29sY2hlbiBhdXN35GhsZW4uXG4iCiJcbiIKIiogTWVu/DpcbiIKCiM6IHV0aWwvaW5zdGFsbC1pbmZvLmM6MzY0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogY291bGQgbm90IHJlYWQgKCVzKSBhbmQgY291bGQgbm90IGNyZWF0ZSAoJXMpXG4iCm1zZ3N0ciAiJXM6IGthbm4gbmljaHQgZ2VsZXNlbiAoJXMpIHVuZCBrYW5uIG5pY2h0IGFuZ2VsZWd0IHdlcmRlbiAoJXMpXG4iCgojOiB1dGlsL2luc3RhbGwtaW5mby5jOjQ2NCB1dGlsL2luc3RhbGwtaW5mby5jOjQ3NAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IFNwZWNpZnkgdGhlIEluZm8gZGlyZWN0b3J5IG9ubHkgb25jZS5cbiIKbXNnc3RyICIlczogSW5mby1WZXJ6ZWljaG5pcyBudXIgZWlubWFsIGFuZ2ViZW4uXG4iCgojOiB1dGlsL2luc3RhbGwtaW5mby5jOjUwMgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IFNwZWNpZnkgdGhlIEluZm8gZmlsZSBvbmx5IG9uY2UuXG4iCm1zZ3N0ciAiJXM6IEluZm8tRGF0ZWkgbnVyIGVpbm1hbCBhbmdlYmVuLlxuIgoKIyBjaGVja2l0CiM6IHV0aWwvaW5zdGFsbC1pbmZvLmM6NTUwCiMsIGMtZm9ybWF0Cm1zZ2lkICJleGNlc3MgY29tbWFuZCBsaW5lIGFyZ3VtZW50IGAlcyciCm1zZ3N0ciAiS29tbWFuZG96ZWlsZW4tQXJndW1lbnQguyVzqyB3aXJkIPxiZXJnYW5nZW4iCgojOiB1dGlsL2luc3RhbGwtaW5mby5jOjU1NAptc2dpZCAiTm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQ7IHRyeSAtLWhlbHAgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgptc2dzdHIgIktlaW5lIEVpbmdhYmUtRGF0ZWkgYW5nZWdlYmVuOyC7LS1oZWxwqyBnaWJ0IHdlaXRlcmUgSW5mb3JtYXRpb25lbi4iCgojOiB1dGlsL2luc3RhbGwtaW5mby5jOjU1Ngptc2dpZCAiTm8gZGlyIGZpbGUgc3BlY2lmaWVkOyB0cnkgLS1oZWxwIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKbXNnc3RyICJLZWluZSBkaXItRGF0ZWkgYW5nZWdlYmVuOyC7LS1oZWxwqyBnaWJ0IHdlaXRlcmUgSW5mb3JtYXRpb25lbi4iCgojOiB1dGlsL2luc3RhbGwtaW5mby5jOjYwOCB1dGlsL2luc3RhbGwtaW5mby5jOjYzMQptc2dpZCAiU1RBUlQtSU5GTy1ESVItRU5UUlkgd2l0aG91dCBtYXRjaGluZyBFTkQtSU5GTy1ESVItRU5UUlkiCm1zZ3N0ciAiU1RBUlQtSU5GTy1ESVItRU5UUlkgb2huZSBFTkQtSU5GTy1ESVItRU5UUlkiCgojOiB1dGlsL2luc3RhbGwtaW5mby5jOjYyNwptc2dpZCAiRU5ELUlORk8tRElSLUVOVFJZIHdpdGhvdXQgbWF0Y2hpbmcgU1RBUlQtSU5GTy1ESVItRU5UUlkiCm1zZ3N0ciAiRU5ELUlORk8tRElSLUVOVFJZIG9obmUgU1RBUlQtSU5GTy1ESVItRU5UUlkiCgojLiBObyBuZWVkIHRvIGFib3J0IGhlcmUsIHRoZSBvcmlnaW5hbCBpbmZvIGZpbGUgbWF5IG5vdCBoYXZlCiMuIHRoZSByZXF1aXNpdGUgVGV4aW5mbyBjb21tYW5kcy4gIFRoaXMgaXMgbm90IHNvbWV0aGluZyBhbgojLiBpbnN0YWxsZXIgc2hvdWxkIGhhdmUgdG8gY29ycmVjdCAoaXQncyBhIHByb2JsZW0gZm9yIHRoZQojLiBtYWludGFpbmVyKSwgYW5kIHRoZXJlJ3Mgbm8gbmVlZCB0byBjYXVzZSBzdWJzZXF1ZW50IHBhcnRzIG9mCiMuIGBtYWtlIGluc3RhbGwnIHRvIGZhaWwuCiM6IHV0aWwvaW5zdGFsbC1pbmZvLmM6NjQxCiMsIGMtZm9ybWF0Cm1zZ2lkICJubyBpbmZvIGRpciBlbnRyeSBpbiBgJXMnIgptc2dzdHIgIktlaW4gSW5mby1WZXJ6ZWljaG5pcy1FaW50cmFnIGluILslc6siCgojOiB1dGlsL2luc3RhbGwtaW5mby5jOjg1MgojLCBjLWZvcm1hdAptc2dpZCAibWVudSBpdGVtIGAlcycgYWxyZWFkeSBleGlzdHMsIGZvciBmaWxlIGAlcyciCm1zZ3N0ciAiTWVu/HB1bmt0ILslc6sgYmVyZWl0cyB2b3JoYW5kZW4sIGb8ciBEYXRlaSC7JXOrIgoKIzogdXRpbC9pbnN0YWxsLWluZm8uYzo4NzUKIywgYy1mb3JtYXQKbXNnaWQgIm5vIGVudHJpZXMgZm91bmQgZm9yIGAlcyc7IG5vdGhpbmcgZGVsZXRlZCIKbXNnc3RyICJrZWluZSBFaW50cuRnZSBm/HIguyVzqyBnZWZ1bmRlbjsgbmljaHRzIGVudGZlcm50IgoKIzogdXRpbC90ZXhpbmRleC5jOjI1Mwptc2dpZCAia2VlcCB0ZW1wb3JhcnkgZmlsZXMgYXJvdW5kIGFmdGVyIHByb2Nlc3NpbmciCm1zZ3N0ciAidGVtcG9y5HJlIERhdGVpZW4gYmlzIG5hY2ggZGVyIFZlcmFyYmVpdHVuZyBhdWZoZWJlbiIKCiM6IHV0aWwvdGV4aW5kZXguYzoyNTUKbXNnaWQgImRvIG5vdCBrZWVwIHRlbXBvcmFyeSBmaWxlcyBhcm91bmQgYWZ0ZXIgcHJvY2Vzc2luZyAoZGVmYXVsdCkiCm1zZ3N0ciAia2VpbmUgdGVtcG9y5HJlIERhdGVpZW4gYmlzIG5hY2ggZGVyIFZlcmFyYmVpdHVuZyBhdWZoZWJlbiAoU3RhbmRhcmQpIgoKIzogdXRpbC90ZXhpbmRleC5jOjI1Nwptc2dpZCAic2VuZCBvdXRwdXQgdG8gRklMRSIKbXNnc3RyICJBdXNnYWJlIG5hY2ggREFURUkgc2NoaWNrZW4iCgojOiB1dGlsL3RleGluZGV4LmM6MjU5Cm1zZ2lkICJkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQiCm1zZ3N0ciAiUHJvZ3JhbW12ZXJzaW9uIGFuemVpZ2VuIgoKIzogdXRpbC90ZXhpbmRleC5jOjI2MQptc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXQiCm1zZ3N0ciAiZGllc2UgSGlsZmUgYW56ZWlnZW4iCgojOiB1dGlsL3RleGluZGV4LmM6MjcyCiMsIGMtZm9ybWF0Cm1zZ2lkICJVc2FnZTogJXMgW09QVElPTl0uLi4gRklMRS4uLlxuIgptc2dzdHIgIkF1ZnJ1ZjogJXMgW09QVElPTl0uLi4gREFURUkuLi5cbiIKCiM6IHV0aWwvdGV4aW5kZXguYzoyNzMKbXNnaWQgIkdlbmVyYXRlIGEgc29ydGVkIGluZGV4IGZvciBlYWNoIFRlWCBvdXRwdXQgRklMRS5cbiIKbXNnc3RyICJFcnpldWdlIGVpbmVuIHNvcnRpZXJ0ZW4gSW5kZXggZvxyIGplZGUgVGVYLUF1c2dhYmVkYXRlaS5cbiIKCiMuIEF2b2lkIHRyaWdyYXBoIG5vbnNlbnNlLgojOiB1dGlsL3RleGluZGV4LmM6Mjc1Cm1zZ2lkICJVc3VhbGx5IEZJTEUuLi4gaXMgYGZvby4/PycgZm9yIGEgZG9jdW1lbnQgYGZvby50ZXhpJy5cbiIKbXNnc3RyICJEQVRFSS4uLiBpc3Qgbm9ybWFsZXJ3ZWlzZSC7Zm9vLj8/qyBm/HIgZWluIERva3VtZW50ILtmb28udGV4aasuXG4iCgojOiB1dGlsL3RleGluZGV4LmM6Mjc2Cm1zZ2lkICIiCiJcbiIKIk9wdGlvbnM6XG4iCm1zZ3N0ciAiIgoiXG4iCiJPcHRpb25lbjpcbiIKCiM6IHV0aWwvdGV4aW5kZXguYzoyOTAKbXNnaWQgIiIKIlxuIgoiRW1haWwgYnVnIHJlcG9ydHMgdG8gYnVnLXRleGluZm9AZ251Lm9yZy4iCm1zZ3N0ciAiIgoiXG4iCiJGZWhsZXIgKFwiYnVnc1wiKSBiaXR0ZSBhbiA8YnVnLXRleGluZm9AZ251Lm9yZz4gbWVsZGVuLlxuIgoiXG4iCiJG/HIgZGllIGRldXRzY2hlINxiZXJzZXR6dW5nIGlzdCBkaWUgTWFpbGluZ2xpc3RlIDxkZUBsaS5vcmc+IHp1c3TkbmRpZy4iCgojOiB1dGlsL3RleGluZGV4LmM6OTE3IHV0aWwvdGV4aW5kZXguYzo5NTEgdXRpbC90ZXhpbmRleC5jOjEwMjcKIzogdXRpbC90ZXhpbmRleC5jOjEwNTUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBub3QgYSB0ZXhpbmZvIGluZGV4IGZpbGUiCm1zZ3N0ciAiJXM6IGtlaW5lIFRleGluZm8tSW5kZXhkYXRlaSIKCiM6IHV0aWwvdGV4aW5kZXguYzoxMDEyCiMsIGMtZm9ybWF0Cm1zZ2lkICJmYWlsdXJlIHJlb3BlbmluZyAlcyIKbXNnc3RyICJGZWhsZXIgYmVpbSBXaWVkZXL2ZmZuZW4gdm9uILslc6siCgojIGNoZWNraXQKIzogdXRpbC90ZXhpbmRleC5jOjEzMjUKIywgYy1mb3JtYXQKbXNnaWQgImVudHJ5ICVzIGZvbGxvd3MgYW4gZW50cnkgd2l0aCBhIHNlY29uZGFyeSBuYW1lIgptc2dzdHIgIkVpbnRyYWcguyVzqyBmb2xndCBlaW5lbSBFaW50cmFnIG1pdCBlaW5lbSBad2VpdG5hbWVuIgoKIzogdXRpbC90ZXhpbmRleC5jOjE2NjMKIywgYy1mb3JtYXQKbXNnaWQgIiVzOyBmb3IgZmlsZSBgJXMnLlxuIgptc2dzdHIgIiVzOyBm/HIgRGF0ZWkguyVzqy5cbiIKCiMgY2hlY2tpdAojOiB1dGlsL3RleGluZGV4LmM6MTcyNAojLCBjLWZvcm1hdAptc2dpZCAiVmlydHVhbCBtZW1vcnkgZXhoYXVzdGVkIGluICVzICgpISAgTmVlZGVkICVkIGJ5dGVzLiIKbXNnc3RyICJWaXJ0dWFsIG1lbW9yeSBleGhhdXN0ZWQgaW4gJXMgKCkhICBOZWVkZWQgJWQgYnl0ZXMuIgo=