IyBNZW5zYWplcyBlbiBlc3Bh8W9sIHBhcmEgZ3Byb2YgMi4xMi45MS4KIyBDb3B5cmlnaHQgKEMpIDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgQ3Jpc3RpYW4gT3Ro824gTWFydO1uZXogVmVyYSA8Y2Z1Z2FAaXRhbS5teD4sIDIwMDIuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IGdwcm9mIDIuMTIuOTFcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAyLTA3LTIzIDE1OjU4LTA0MDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDItMDctMjQgMDI6MDItMDUwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBDcmlzdGlhbiBPdGjzbiBNYXJ07W5leiBWZXJhIDxjZnVnYUBpdGFtLm14PlxuIgoiTGFuZ3VhZ2UtVGVhbTogU3BhbmlzaCA8ZXNAbGkub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBhbHBoYS5jOjkzIG1pcHMuYzo0Nwptc2dpZCAiPGluZGlyZWN0IGNoaWxkPiIKbXNnc3RyICI8aGlqbyBpbmRpcmVjdG8+IgoKIzogYWxwaGEuYzoxMTAgbWlwcy5jOjY0CiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAlczogMHglbHggdG8gMHglbHhcbiIKbXNnc3RyICJbZmluZF9jYWxsXSAlczogMHglbHggYSAweCVseFxuIgoKIzogYWxwaGEuYzoxMzIKIywgYy1mb3JtYXQKbXNnaWQgIltmaW5kX2NhbGxdIDB4JWx4OiBqc3IlcyA8aW5kaXJlY3RfY2hpbGQ+XG4iCm1zZ3N0ciAiW2ZpbmRfY2FsbF0gMHglbHg6IGpzciVzIDxoaWpvX2luZGlyZWN0bz5cbiIKCiM6IGFscGhhLmM6MTQyCiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDogYnNyIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBic3IiCgojOiBiYXNpY19ibG9ja3MuYzoxMzQgY2FsbF9ncmFwaC5jOjk0IGhpc3QuYzo5OAojLCBjLWZvcm1hdAptc2dpZCAiJXM6ICVzOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlXG4iCm1zZ3N0ciAiJXM6ICVzOiBmaW4gZGUgZmljaGVybyBpbmVzcGVyYWRvXG4iCgojOiBiYXNpY19ibG9ja3MuYzoyMDIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiBpZ25vcmluZyBiYXNpYy1ibG9jayBleGVjIGNvdW50cyAodXNlIC1sIG9yIC0tbGluZSlcbiIKbXNnc3RyICIlczogYXZpc286IGlnbm9yYW5kbyBsYXMgY3VlbnRhcyBkZSBlamVjdWNp824gZGUgYmxvcXVlcyBi4XNpY29zICh1c2UgLWwgbyAtLWxpbmUpXG4iCgojLiBGSVhNRTogVGhpcyBvbmx5IHdvcmtzIGlmIGJmZF92bWEgaXMgdW5zaWduZWQgbG9uZy4KIzogYmFzaWNfYmxvY2tzLmM6Mjk1IGJhc2ljX2Jsb2Nrcy5jOjMwNQojLCBjLWZvcm1hdAptc2dpZCAiJXM6JWQ6ICglczoweCVseCkgJWx1IGV4ZWN1dGlvbnNcbiIKbXNnc3RyICIlczolZDogKCVzOjB4JWx4KSAlbHUgZWplY3VjaW9uZXNcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjI5NiBiYXNpY19ibG9ja3MuYzozMDYKbXNnaWQgIjx1bmtub3duPiIKbXNnc3RyICI8ZGVzY29ub2NpZG8+IgoKIzogYmFzaWNfYmxvY2tzLmM6NTUzCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIlxuIgoiVG9wICVkIExpbmVzOlxuIgoiXG4iCiIgICAgIExpbmUgICAgICBDb3VudFxuIgoiXG4iCm1zZ3N0ciAiIgoiXG4iCiJcbiIKIiVkIEztbmVhcyBQcmluY2lwYWxlczpcbiIKIlxuIgoiICAgICBM7W5lYSAgICAgQ3VlbnRhXG4iCiJcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU3Nwptc2dpZCAiIgoiXG4iCiJFeGVjdXRpb24gU3VtbWFyeTpcbiIKIlxuIgptc2dzdHIgIiIKIlxuIgoiUmVzdW1lbiBkZSBFamVjdWNp8246XG4iCiJcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU3OAojLCBjLWZvcm1hdAptc2dpZCAiJTlsZCAgIEV4ZWN1dGFibGUgbGluZXMgaW4gdGhpcyBmaWxlXG4iCm1zZ3N0ciAiJTlsZCAgIEztbmVhcyBlamVjdXRhYmxlcyBlbiBlc3RlIGZpY2hlcm9cbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU4MAojLCBjLWZvcm1hdAptc2dpZCAiJTlsZCAgIExpbmVzIGV4ZWN1dGVkXG4iCm1zZ3N0ciAiJTlsZCAgIEztbmVhcyBlamVjdXRhZGFzXG4iCgojOiBiYXNpY19ibG9ja3MuYzo1ODEKIywgYy1mb3JtYXQKbXNnaWQgIiU5LjJmICAgUGVyY2VudCBvZiB0aGUgZmlsZSBleGVjdXRlZFxuIgptc2dzdHIgIiU5LjJmICAgUG9yY2VudGFqZSBlamVjdXRhZG8gZGVsIGZpY2hlcm9cbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU4NQojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIlOWx1ICAgVG90YWwgbnVtYmVyIG9mIGxpbmUgZXhlY3V0aW9uc1xuIgptc2dzdHIgIiIKIlxuIgoiJTlsdSAgIE76bWVybyB0b3RhbCBkZSBlamVjdWNpb25lcyBkZSBs7W5lYVxuIgoKIzogYmFzaWNfYmxvY2tzLmM6NTg3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlOS4yZiAgIEF2ZXJhZ2UgZXhlY3V0aW9ucyBwZXIgbGluZVxuIgptc2dzdHIgIiU5LjJmICAgRWplY3VjaW9uZXMgcHJvbWVkaW8gcG9yIGztbmVhXG4iCgojOiBjYWxsX2dyYXBoLmM6NzEKIywgYy1mb3JtYXQKbXNnaWQgIltjZ190YWxseV0gYXJjIGZyb20gJXMgdG8gJXMgdHJhdmVyc2VkICVsdSB0aW1lc1xuIgptc2dzdHIgIltjZ190YWxseV0gYXJjbyBkZXNkZSAlcyBoYXN0YSAlcyByZWNvcnJpZG8gJWx1IHZlY2VzXG4iCgojOiBjZ19wcmludC5jOjczCm1zZ2lkICIiCiJcdFx0ICAgICBDYWxsIGdyYXBoIChleHBsYW5hdGlvbiBmb2xsb3dzKVxuIgoiXG4iCm1zZ3N0ciAiIgoiXHRcdCAgICAgR3LhZmljbyBkZSBsbGFtYWRhcyAoZXhwbGljYWNp824gYSBjb250aW51YWNp824pXG4iCiJcbiIKCiM6IGNnX3ByaW50LmM6NzUKbXNnaWQgIiIKIlx0XHRcdENhbGwgZ3JhcGhcbiIKIlxuIgptc2dzdHIgIiIKIlx0XHRcdEdy4WZpY28gZGUgbGxhbWFkYXNcbiIKIlxuIgoKIzogY2dfcHJpbnQuYzo3OCBoaXN0LmM6MzYzCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKImdyYW51bGFyaXR5OiBlYWNoIHNhbXBsZSBoaXQgY292ZXJzICVsZCBieXRlKHMpIgptc2dzdHIgIiIKIlxuIgoiZ3JhbnVsYXJpZGFkOiBjYWRhIGVsZW1lbnRvIGRlIG11ZXN0cmEgY3VicmUgJWxkIGJ5dGUocykiCgojOiBjZ19wcmludC5jOjgyCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgZm9yICUuMmYlJSBvZiAlLjJmIHNlY29uZHNcbiIKIlxuIgptc2dzdHIgIiIKIiBwYXJhICUuMmYlJSBkZSAlLjJmIHNlZ3VuZG9zXG4iCiJcbiIKCiM6IGNnX3ByaW50LmM6ODYKbXNnaWQgIiIKIiBubyB0aW1lIHByb3BhZ2F0ZWRcbiIKIlxuIgptc2dzdHIgIiIKIiBubyBoYXkgdGllbXBvIHByb3BhZ2Fkb1xuIgoiXG4iCgojOiBjZ19wcmludC5jOjk1IGNnX3ByaW50LmM6OTggY2dfcHJpbnQuYzoxMDAKbXNnaWQgImNhbGxlZCIKbXNnc3RyICJsbGFtYWRvIgoKIzogY2dfcHJpbnQuYzo5NSBjZ19wcmludC5jOjEwMAptc2dpZCAidG90YWwiCm1zZ3N0ciAidG90YWwiCgojOiBjZ19wcmludC5jOjk1Cm1zZ2lkICJwYXJlbnRzIgptc2dzdHIgInBhZHJlcyIKCiM6IGNnX3ByaW50LmM6OTcgY2dfcHJpbnQuYzo5OAptc2dpZCAiaW5kZXgiCm1zZ3N0ciAi7W5kaWNlIgoKIzogY2dfcHJpbnQuYzo5Nwptc2dpZCAiJXRpbWUiCm1zZ3N0ciAiJXRpZW1wbyIKCiM6IGNnX3ByaW50LmM6OTcgY2dfcHJpbnQuYzo5OAptc2dpZCAic2VsZiIKbXNnc3RyICJz7SBtaXNtbyIKCiM6IGNnX3ByaW50LmM6OTcKbXNnaWQgImRlc2NlbmRhbnRzIgptc2dzdHIgImRlc2NlbmRpZW50ZXMiCgojOiBjZ19wcmludC5jOjk4IGhpc3QuYzozODkKbXNnaWQgIm5hbWUiCm1zZ3N0ciAibm9tYnJlIgoKIzogY2dfcHJpbnQuYzoxMDAKbXNnaWQgImNoaWxkcmVuIgptc2dzdHIgImhpam9zIgoKIzogY2dfcHJpbnQuYzoxMDUKIywgYy1mb3JtYXQKbXNnaWQgImluZGV4ICUlIHRpbWUgICAgc2VsZiAgY2hpbGRyZW4gICAgY2FsbGVkICAgICBuYW1lXG4iCm1zZ3N0ciAiaW5kICAgJSUgdGllbXBvICBz7V9taXNtbyBoaWpvcyAgICBsbGFtYWRvICAgIG5vbWJyZVxuIgoKIzogY2dfcHJpbnQuYzoxMjkKIywgYy1mb3JtYXQKbXNnaWQgIiA8Y3ljbGUgJWQgYXMgYSB3aG9sZT4gWyVkXVxuIgptc2dzdHIgIiA8Y2ljbG8gJWQgY29tbyB1biB0b2RvPiBbJWRdXG4iCgojOiBjZ19wcmludC5jOjM2MwojLCBjLWZvcm1hdAptc2dpZCAiJTYuNnMgJTUuNXMgJTcuN3MgJTExLjExcyAlNy43cyAlNy43cyAgICAgPHNwb250YW5lb3VzPlxuIgptc2dzdHIgIiU2LjZzICU1LjVzICU3LjdzICUxMS4xMXMgJTcuN3MgJTcuN3MgICAgIDxlc3BvbnThbmVvcz5cbiIKCiM6IGNnX3ByaW50LmM6MzY0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlNi42cyAlNS41cyAlNy43cyAlNy43cyAlNy43cyAlNy43cyAgICAgPHNwb250YW5lb3VzPlxuIgptc2dzdHIgIiU2LjZzICU1LjVzICU3LjdzICUxMS4xMXMgJTcuN3MgJTcuN3MgICA8ZXNwb2504W5lb3M+XG4iCgojOiBjZ19wcmludC5jOjYwNAptc2dpZCAiIgoiSW5kZXggYnkgZnVuY3Rpb24gbmFtZVxuIgoiXG4iCm1zZ3N0ciAiIgoizW5kaWNlIHBvciBub21icmUgZGUgZnVuY2nzblxuIgoiXG4iCgojOiBjZ19wcmludC5jOjY2MSBjZ19wcmludC5jOjY3MAojLCBjLWZvcm1hdAptc2dpZCAiPGN5Y2xlICVkPiIKbXNnc3RyICI8Y2ljbG8gJWQ+IgoKIzogY29yZWZpbGUuYzo2NAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNvdWxkIG5vdCBvcGVuICVzLlxuIgptc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBhYnJpciAlcy5cbiIKCiM6IGNvcmVmaWxlLmM6NzggY29yZWZpbGUuYzoxMTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bmFibGUgdG8gcGFyc2UgbWFwcGluZyBmaWxlICVzLlxuIgptc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBkZWNvZGlmaWNhciBlbCBmaWNoZXJvIGRlIG1hcGVvICVzLlxuIgoKIzogY29yZWZpbGUuYzoxNTUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAlczogbm90IGluIGEub3V0IGZvcm1hdFxuIgptc2dzdHIgIiVzOiAlczogbm8gZXN04SBlbiBlbCBmb3JtYXRvIGEub3V0XG4iCgojOiBjb3JlZmlsZS5jOjE2NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IGZpbmQgLnRleHQgc2VjdGlvbiBpbiAlc1xuIgptc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBlbmNvbnRyYXIgbGEgc2VjY2nzbiAudGV4dCBlbiAlc1xuIgoKIzogY29yZWZpbGUuYzoyMjUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiByYW4gb3V0IHJvb20gZm9yICVsdSBieXRlcyBvZiB0ZXh0IHNwYWNlXG4iCm1zZ3N0ciAiJXM6IHNlIHRlcm1pbvMgZWwgZXNwYWNpbyBwYXJhICVsdSBieXRlcyBkZSBlc3BhY2lvIGRlIHRleHRvXG4iCgojOiBjb3JlZmlsZS5jOjIzOQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IGRvIC1jXG4iCm1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGhhY2VyIC1jXG4iCgojOiBjb3JlZmlsZS5jOjI3NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IC1jIG5vdCBzdXBwb3J0ZWQgb24gYXJjaGl0ZWN0dXJlICVzXG4iCm1zZ3N0ciAiJXM6IC1jIG5vIHRpZW5lIHNvcG9ydGUgZW4gbGEgYXJxdWl0ZWN0dXJhICVzXG4iCgojOiBjb3JlZmlsZS5jOjQ0NwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgYCVzJyBoYXMgbm8gc3ltYm9sc1xuIgptc2dzdHIgIiVzOiBlbCBmaWNoZXJvIGAlcycgbm8gdGllbmUgc+1tYm9sb3NcbiIKCiM6IGNvcmVmaWxlLmM6NzQ4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogc29tZWJvZHkgbWlzY291bnRlZDogbHRhYi5sZW49JWQgaW5zdGVhZCBvZiAlbGRcbiIKbXNnc3RyICIlczogYWxndWllbiBjb2508yBtYWw6IGx0YWIubGVuPSVkIGVuIGx1Z2FyIGRlICVsZFxuIgoKIzogZ21vbl9pby5jOjk2IGdtb25faW8uYzoxNTkgZ21vbl9pby5jOjIxOSBnbW9uX2lvLmM6MjUxIGdtb25faW8uYzo0MjIKIzogZ21vbl9pby5jOjQ0OSBnbW9uX2lvLmM6NjQ2IGdtb25faW8uYzo2NzEKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBiaXRzIHBlciBhZGRyZXNzIGhhcyB1bmV4cGVjdGVkIHZhbHVlIG9mICV1XG4iCm1zZ3N0ciAiJXM6IGxvcyBiaXRzIHBvciBkaXJlY2Np824gdGllbmVuIHVuIHZhbG9yIGluZXNwZXJhZG8gZGUgJXVcbiIKCiM6IGdtb25faW8uYzoyODggZ21vbl9pby5jOjM4MwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgdG9vIHNob3J0IHRvIGJlIGEgZ21vbiBmaWxlXG4iCm1zZ3N0ciAiJXM6IGVsIGZpY2hlcm8gZXMgbXV5IGNvcnRvIHBhcmEgc2VyIHVuIGZpY2hlcm8gZ21vblxuIgoKIzogZ21vbl9pby5jOjI5OCBnbW9uX2lvLmM6NDMyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSBgJXMnIGhhcyBiYWQgbWFnaWMgY29va2llXG4iCm1zZ3N0ciAiJXM6IGVsIGZpY2hlcm8gYCVzJyB0aWVuZSB1bmEgZ2FsbGV0YSBt4WdpY2EgZXJy825lYVxuIgoKIzogZ21vbl9pby5jOjMwOQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgYCVzJyBoYXMgdW5zdXBwb3J0ZWQgdmVyc2lvbiAlZFxuIgptc2dzdHIgIiVzOiBlbCBmaWNoZXJvIGAlcycgdGllbmUgbGEgdmVyc2lvbiAlZCBxdWUgbm8gdGllbmUgc29wb3J0ZVxuIgoKIzogZ21vbl9pby5jOjMzOQojLCBjLWZvcm1hdAptc2dpZCAiJXM6ICVzOiBmb3VuZCBiYWQgdGFnICVkIChmaWxlIGNvcnJ1cHRlZD8pXG4iCm1zZ3N0ciAiJXM6ICVzOiBzZSBlbmNvbnRy8yBsYSBtYXJjYSBlcnLzbmVhICVkICi/ZmljaGVybyBjb3JydXB0bz8pXG4iCgojOiBnbW9uX2lvLmM6NDA1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogcHJvZmlsaW5nIHJhdGUgaW5jb21wYXRpYmxlIHdpdGggZmlyc3QgZ21vbiBmaWxlXG4iCm1zZ3N0ciAiJXM6IHRhc2EgZGUgYW7hbGlzaXMgZGUgcGVyZmlsIGluY29tcGF0aWJsZSBjb24gZWwgcHJpbWVyIGZpY2hlcm8gZ21vblxuIgoKIzogZ21vbl9pby5jOjQ2NQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGluY29tcGF0aWJsZSB3aXRoIGZpcnN0IGdtb24gZmlsZVxuIgptc2dzdHIgIiVzOiBpbmNvbXBhdGlibGUgY29uIGVsIHByaW1lciBmaWNoZXJvIGdtb25cbiIKCiM6IGdtb25faW8uYzo0OTMKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBmaWxlICclcycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGluIGdtb24ub3V0IGZvcm1hdFxuIgptc2dzdHIgIiVzOiBlbCBmaWNoZXJvICclcycgbm8gcGFyZWNlIGVzdGFyIGVuIGVsIGZvcm1hdG8gZ21vbi5vdXRcbiIKCiMgRklYTUU6IGNvbXByb2JhciBjb24gZWwgY/NkaWdvIHNpIGJpbnMgZXMgYWJyZXZpYXR1cmEgZGUgYmluYXJpb3MgbwojIHNlIHJlZmllcmUgYSBsYSBkZW5vbWluYWNp824gaW5nbGVzYSBkZSAncGFwZWxlcmEnLiBjZnVnYQojOiBnbW9uX2lvLmM6NTE0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5leHBlY3RlZCBFT0YgYWZ0ZXIgcmVhZGluZyAlZC8lZCBiaW5zXG4iCm1zZ3N0ciAiJXM6IGZpbiBkZSBmaWNoZXJvIGluZXNwZXJhZG8gZGVzcHXpcyBkZSBsZWVyICVkLyVkIGJpbmFyaW9zXG4iCgojOiBnbW9uX2lvLmM6NTQ3Cm1zZ2lkICJ0aW1lIGlzIGluIHRpY2tzLCBub3Qgc2Vjb25kc1xuIgptc2dzdHIgImVsIHRpZW1wbyBlc3ThIGVuIHRpY3MsIG5vIGVuIHNlZ3VuZG9zXG4iCgojOiBnbW9uX2lvLmM6NTUzIGdtb25faW8uYzo3NDIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBkb24ndCBrbm93IGhvdyB0byBkZWFsIHdpdGggZmlsZSBmb3JtYXQgJWRcbiIKbXNnc3RyICIlczogc2UgZGVzY29ub2NlIGPzbW8gbGlkaWFyIGNvbiBlbCBmaWNoZXJvIGRlIGZvcm1hdG8gJWRcbiIKCiM6IGdtb25faW8uYzo1NjAKIywgYy1mb3JtYXQKbXNnaWQgIkZpbGUgYCVzJyAodmVyc2lvbiAlZCkgY29udGFpbnM6XG4iCm1zZ3N0ciAiRWwgZmljaGVybyBgJXMnICh2ZXJzafNuICVkKSBjb250aWVuZTpcbiIKCiM6IGdtb25faW8uYzo1NjMKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgaGlzdG9ncmFtIHJlY29yZFxuIgptc2dzdHIgIlx0JWQgcmVnaXN0cm8gZGUgaGlzdG9ncmFtYVxuIgoKIzogZ21vbl9pby5jOjU2NAojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBoaXN0b2dyYW0gcmVjb3Jkc1xuIgptc2dzdHIgIlx0JWQgcmVnaXN0cm9zIGRlIGhpc3RvZ3JhbWFzXG4iCgojOiBnbW9uX2lvLmM6NTY2CiMsIGMtZm9ybWF0Cm1zZ2lkICJcdCVkIGNhbGwtZ3JhcGggcmVjb3JkXG4iCm1zZ3N0ciAiXHQlZCByZWdpc3RybyBkZSBncuFmaWNvIGRlIGxsYW1hZGFzXG4iCgojOiBnbW9uX2lvLmM6NTY3CiMsIGMtZm9ybWF0Cm1zZ2lkICJcdCVkIGNhbGwtZ3JhcGggcmVjb3Jkc1xuIgptc2dzdHIgIlx0JWQgcmVnaXN0cm9zIGRlIGdy4WZpY29zIGRlIGxsYW1hZGFzXG4iCgojOiBnbW9uX2lvLmM6NTY5CiMsIGMtZm9ybWF0Cm1zZ2lkICJcdCVkIGJhc2ljLWJsb2NrIGNvdW50IHJlY29yZFxuIgptc2dzdHIgIlx0JWQgcmVnaXN0cm8gZGUgY3VlbnRhIGRlIGJsb3F1ZXMgYuFzaWNvc1xuIgoKIzogZ21vbl9pby5jOjU3MAojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBiYXNpYy1ibG9jayBjb3VudCByZWNvcmRzXG4iCm1zZ3N0ciAiXHQlZCByZWdpc3Ryb3MgZGUgY3VlbnRhcyBkZSBibG9xdWVzIGLhc2ljb3NcbiIKCiM6IGdwcm9mLmM6MTUyCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJVc2FnZTogJXMgWy1bYWJjRGhpbExzVHZ3eHl6XV0gWy1bQUNlRWZGSm5OT3BQcVFaXVtuYW1lXV0gWy1JIGRpcnNdXG4iCiJcdFstZFtudW1dXSBbLWsgZnJvbS90b10gWy1tIG1pbi1jb3VudF0gWy10IHRhYmxlLWxlbmd0aF1cbiIKIlx0Wy0tW25vLV1hbm5vdGF0ZWQtc291cmNlWz1uYW1lXV0gWy0tW25vLV1leGVjLWNvdW50c1s9bmFtZV1dXG4iCiJcdFstLVtuby1dZmxhdC1wcm9maWxlWz1uYW1lXV0gWy0tW25vLV1ncmFwaFs9bmFtZV1dXG4iCiJcdFstLVtuby1ddGltZT1uYW1lXSBbLS1hbGwtbGluZXNdIFstLWJyaWVmXSBbLS1kZWJ1Z1s9bGV2ZWxdXVxuIgoiXHRbLS1mdW5jdGlvbi1vcmRlcmluZ10gWy0tZmlsZS1vcmRlcmluZ11cbiIKIlx0Wy0tZGlyZWN0b3J5LXBhdGg9ZGlyc10gWy0tZGlzcGxheS11bnVzZWQtZnVuY3Rpb25zXVxuIgoiXHRbLS1maWxlLWZvcm1hdD1uYW1lXSBbLS1maWxlLWluZm9dIFstLWhlbHBdIFstLWxpbmVdIFstLW1pbi1jb3VudD1uXVxuIgoiXHRbLS1uby1zdGF0aWNdIFstLXByaW50LXBhdGhdIFstLXNlcGFyYXRlLWZpbGVzXVxuIgoiXHRbLS1zdGF0aWMtY2FsbC1ncmFwaF0gWy0tc3VtXSBbLS10YWJsZS1sZW5ndGg9bGVuXSBbLS10cmFkaXRpb25hbF1cbiIKIlx0Wy0tdmVyc2lvbl0gWy0td2lkdGg9bl0gWy0taWdub3JlLW5vbi1mdW5jdGlvbnNdXG4iCiJcdFstLWRlbWFuZ2xlWz1TVFlMRV1dIFstLW5vLWRlbWFuZ2xlXVxuIgoiXHRbaW1hZ2UtZmlsZV0gW3Byb2ZpbGUtZmlsZS4uLl1cbiIKbXNnc3RyICIiCiJNb2RvIGRlIGVtcGxlbzogJXMgWy1bYWJjRGhpbExzVHZ3eHl6XV0gWy1bQUNlRWZGSm5OT3BQcVFaXVtub21icmVdXSBbLUkgZGlyc11cbiIKIlx0Wy1kW251bV1dIFstayBkZS9hXSBbLW0gY3VlbnRhLW1pbl0gWy10IGxvbmdpdHVkLXRhYmxhXVxuIgoiXHRbLS1bbm8tXWFubm90YXRlZC1zb3VyY2VbPW5vbWJyZV1dIFstLVtuby1dZXhlYy1jb3VudHNbPW5vbWJyZV1dXG4iCiJcdFstLVtuby1dZmxhdC1wcm9maWxlWz1ub21icmVdXSBbLS1bbm8tXWdyYXBoWz1ub21icmVdXVxuIgoiXHRbLS1bbm8tXXRpbWU9bm9tYnJlXSBbLS1hbGwtbGluZXNdIFstLWJyaWVmXSBbLS1kZWJ1Z1s9bml2ZWxdXVxuIgoiXHRbLS1mdW5jdGlvbi1vcmRlcmluZ10gWy0tZmlsZS1vcmRlcmluZ11cbiIKIlx0Wy0tZGlyZWN0b3J5LXBhdGg9ZGlyc10gWy0tZGlzcGxheS11bnVzZWQtZnVuY3Rpb25zXVxuIgoiXHRbLS1maWxlLWZvcm1hdD1ub21icmVdIFstLWZpbGUtaW5mb10gWy0taGVscF0gWy0tbGluZV0gWy0tbWluLWNvdW50PW5dXG4iCiJcdFstLW5vLXN0YXRpY10gWy0tcHJpbnQtcGF0aF0gWy0tc2VwYXJhdGUtZmlsZXNdXG4iCiJcdFstLXN0YXRpYy1jYWxsLWdyYXBoXSBbLS1zdW1dIFstLXRhYmxlLWxlbmd0aD1sb25nXSBbLS10cmFkaXRpb25hbF1cbiIKIlx0Wy0tdmVyc2lvbl0gWy0td2lkdGg9bl0gWy0taWdub3JlLW5vbi1mdW5jdGlvbnNdXG4iCiJcdFstLWRlbWFuZ2xlWz1FU1RJTE9dXSBbLS1uby1kZW1hbmdsZV1cbiIKIlx0W2ZpY2hlcm8taW1hZ2VuXSBbZmljaGVyby1wZXJmaWwuLi5dXG4iCgojOiBncHJvZi5jOjE2OAojLCBjLWZvcm1hdAptc2dpZCAiUmVwb3J0IGJ1Z3MgdG8gJXNcbiIKbXNnc3RyICJSZXBvcnRhciBiaWNob3MgYSAlc1xuIgoKIzogZ3Byb2YuYzoyNDIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBkZWJ1Z2dpbmcgbm90IHN1cHBvcnRlZDsgLWQgaWdub3JlZFxuIgptc2dzdHIgIiVzOiBubyBoYXkgc29wb3J0ZSBwYXJhIGRlcHVyYWNp8247IHNlIGlnbm9yYSAtZFxuIgoKIzogZ3Byb2YuYzozMjIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bmtub3duIGZpbGUgZm9ybWF0ICVzXG4iCm1zZ3N0ciAiJXM6IGZvcm1hdG8gZGUgZmljaGVybyAlcyBkZXNjb25vY2lkb1xuIgoKIy4gVGhpcyBvdXRwdXQgaXMgaW50ZW5kZWQgdG8gZm9sbG93IHRoZSBHTlUgc3RhbmRhcmRzIGRvY3VtZW50LgojOiBncHJvZi5jOjQwNgojLCBjLWZvcm1hdAptc2dpZCAiR05VIGdwcm9mICVzXG4iCm1zZ3N0ciAiR05VIGdwcm9mICVzXG4iCgojOiBncHJvZi5jOjQwNwptc2dpZCAiQmFzZWQgb24gQlNEIGdwcm9mLCBjb3B5cmlnaHQgMTk4MyBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuXG4iCm1zZ3N0ciAiQmFzYWRvIGVuIGdwcm9mIGRlIEJTRCwgY29weXJpZ2h0IDE5ODMgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLlxuIgoKIzogZ3Byb2YuYzo0MDgKbXNnaWQgIlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgVGhpcyBwcm9ncmFtIGhhcyBhYnNvbHV0ZWx5IG5vIHdhcnJhbnR5LlxuIgptc2dzdHIgIkVzdGUgcHJvZ3JhbWEgZXMgc29mdHdhcmUgbGlicmUuICBFc3RlIHByb2dyYW1hIG5vIHRpZW5lIG5pbmd1bmEgZ2FyYW507WEgZW4gbG8gYWJzb2x1dG8uXG4iCgojOiBncHJvZi5jOjQ0OQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHVua25vd24gZGVtYW5nbGluZyBzdHlsZSBgJXMnXG4iCm1zZ3N0ciAiJXM6IGVzdGlsbyBkZSBkZXNlbnJlZG8gZGVzY29ub2NpZG8gYCVzJ1xuIgoKIzogZ3Byb2YuYzo0NjkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBPbmx5IG9uZSBvZiAtLWZ1bmN0aW9uLW9yZGVyaW5nIGFuZCAtLWZpbGUtb3JkZXJpbmcgbWF5IGJlIHNwZWNpZmllZC5cbiIKbXNnc3RyICIlczogU/NsbyBzZSBwdWVkZSBlc3BlY2lmaWNhciB1bm8gZGUgLS1mdW5jdGlvbi1vcmRlcmluZyB5IC0tZmlsZS1vcmRlcmluZy5cbiIKCiM6IGdwcm9mLmM6NTY5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogc29ycnksIGZpbGUgZm9ybWF0IGBwcm9mJyBpcyBub3QgeWV0IHN1cHBvcnRlZFxuIgptc2dzdHIgIiVzOiBwZXJk824sIGVsIGZvcm1hdG8gZGUgZmljaGVybyBgcHJvZicgYfpuIG5vIHRpZW5lIHNvcG9ydGVcbiIKCiM6IGdwcm9mLmM6NjMwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZ21vbi5vdXQgZmlsZSBpcyBtaXNzaW5nIGhpc3RvZ3JhbVxuIgptc2dzdHIgIiVzOiBhbCBmaWNoZXJvIGdtb24ub3V0IGxlIGZhbHRhIGVsIGhpc3RvZ3JhbWFcbiIKCiM6IGdwcm9mLmM6NjM3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZ21vbi5vdXQgZmlsZSBpcyBtaXNzaW5nIGNhbGwtZ3JhcGggZGF0YVxuIgptc2dzdHIgIiVzOiBhbCBmaWNoZXJvIGdtb24ub3V0IGxlIGZhbHRhIGxvcyBkYXRvcyBkZWwgZ3LhZmljbyBkZSBsbGFtYWRhc1xuIgoKIzogaGlzdC5jOjEyNwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGAlcycgaXMgaW5jb21wYXRpYmxlIHdpdGggZmlyc3QgZ21vbiBmaWxlXG4iCm1zZ3N0ciAiJXM6IGAlcycgZXMgaW5jb21wYXRpYmxlIGNvbiBlbCBwcmltZXIgZmljaGVybyBnbW9uXG4iCgojOiBoaXN0LmM6MTQzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogJXM6IHVuZXhwZWN0ZWQgRU9GIGFmdGVyIHJlYWRpbmcgJWQgb2YgJWQgc2FtcGxlc1xuIgptc2dzdHIgIiVzOiAlczogZmluIGRlIGZpY2hlcm8gaW5lc3BlcmFkbyBkZXNwdelzIGRlIGxlZXIgJWQgZGUgJWQgbXVlc3RyYXNcbiIKCiM6IGhpc3QuYzozNTkKIywgYy1mb3JtYXQKbXNnaWQgIiVjJWMvY2FsbCIKbXNnc3RyICIlYyVjL2xsYW1hZGEiCgojOiBoaXN0LmM6MzY3CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgZm9yICUuMmYlJSBvZiAlLjJmICVzXG4iCiJcbiIKbXNnc3RyICIiCiIgcGFyYSAlLjJmJSUgZGUgJS4yZiAlc1xuIgoiXG4iCgojOiBoaXN0LmM6MzczCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIkVhY2ggc2FtcGxlIGNvdW50cyBhcyAlZyAlcy5cbiIKbXNnc3RyICIiCiJcbiIKIkNhZGEgbXVlc3RyYSBjdWVudGEgY29tbyAlZyAlcy5cbiIKCiM6IGhpc3QuYzozNzgKbXNnaWQgIiIKIiBubyB0aW1lIGFjY3VtdWxhdGVkXG4iCiJcbiIKbXNnc3RyICIiCiIgbm8gaGF5IHRpZW1wbyBhY3VtdWxhZG9cbiIKIlxuIgoKIzogaGlzdC5jOjM4NQptc2dpZCAiY3VtdWxhdGl2ZSIKbXNnc3RyICJjdW11bGF0aXZvIgoKIzogaGlzdC5jOjM4NQptc2dpZCAic2VsZiAgIgptc2dzdHIgInPtIG1pc21vICAiCgojOiBoaXN0LmM6Mzg1Cm1zZ2lkICJ0b3RhbCAiCm1zZ3N0ciAidG90YWwgIgoKIzogaGlzdC5jOjM4OAptc2dpZCAidGltZSIKbXNnc3RyICJ0aWVtcG8iCgojOiBoaXN0LmM6Mzg4Cm1zZ2lkICJjYWxscyIKbXNnc3RyICJsbGFtYWRhcyIKCiM6IGhpc3QuYzo0ODEKbXNnaWQgIiIKIlxuIgoiXG4iCiJcbiIKImZsYXQgcHJvZmlsZTpcbiIKbXNnc3RyICIiCiJcbiIKIlxuIgoiXG4iCiJwZXJmaWwgcGxhbm86XG4iCgojOiBoaXN0LmM6NDg3Cm1zZ2lkICJGbGF0IHByb2ZpbGU6XG4iCm1zZ3N0ciAiUGVyZmlsIHBsYW5vOlxuIgoKIzogbWlwcy5jOjc1CiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDogamFsIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBqYWwiCgojOiBtaXBzLmM6MTAwCiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDogamFsclxuIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBqYWxyXG4iCgojOiBzb3VyY2UuYzoxNjYKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjb3VsZCBub3QgbG9jYXRlIGAlcydcbiIKbXNnc3RyICIlczogbm8gc2UgcHVlZGUgZW5jb250cmFyIGAlcydcbiIKCiM6IHNvdXJjZS5jOjI0MQojLCBjLWZvcm1hdAptc2dpZCAiKioqIEZpbGUgJXM6XG4iCm1zZ3N0ciAiKioqIEZpY2hlcm8gJXM6XG4iCgojOiB1dGlscy5jOjk5CiMsIGMtZm9ybWF0Cm1zZ2lkICIgPGN5Y2xlICVkPiIKbXNnc3RyICIgPGNpY2xvICVkPiIKCiN+IG1zZ2lkICIlczogYmZkX3ZtYSBoYXMgdW5leHBlY3RlZCBzaXplIG9mICVsZCBieXRlc1xuIgojfiBtc2dzdHIgIiVzOiBiZmRfdm1hIHRpZW5lIHVuIHRhbWHxbyBpbmVzcGVyYWRvIGRlICVsZCBieXRlc1xuIgo=