IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojICAgICAgICAgICAgICAgICAgICAgICBDQURFTkNFIENPUFlSSUdIVCBOT1RJQ0UKIyAgICAgICAgIKkgMjAwOC0yMDEzIENhZGVuY2UgRGVzaWduIFN5c3RlbXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBGb3VuZGF0aW9uIEZsb3cgaXMgcHJvdmlkZWQgYXMgYW4gZXhhbXBsZSBvZiBob3cgdG8gcGVyZm9ybSBzcGVjaWFsaXplZAojIHRhc2tzLgojCiMgVGhpcyB3b3JrIG1heSBub3QgYmUgY29waWVkLCByZS1wdWJsaXNoZWQsIHVwbG9hZGVkLCBvciBkaXN0cmlidXRlZCBpbiBhbnkgd2F5LAojIGluIGFueSBtZWRpdW0sIHdoZXRoZXIgaW4gd2hvbGUgb3IgaW4gcGFydCwgd2l0aG91dCBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24KIyBmcm9tIENhZGVuY2UuIE5vdHdpdGhzdGFuZGluZyBhbnkgcmVzdHJpY3Rpb25zIGhlcmVpbiwgc3ViamVjdCB0byBjb21wbGlhbmNlCiMgd2l0aCB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIENhZGVuY2Ugc29mdHdhcmUgbGljZW5zZSBhZ3JlZW1lbnQgdW5kZXIKIyB3aGljaCB0aGlzIG1hdGVyaWFsIHdhcyBwcm92aWRlZCwgdGhpcyBtYXRlcmlhbCBtYXkgYmUgY29waWVkIGFuZCBpbnRlcm5hbGx5CiMgZGlzdHJpYnV0ZWQgc29sZWx5IGZvciBpbnRlcm5hbCBwdXJwb3NlcyBmb3IgdXNlIHdpdGggQ2FkZW5jZSB0b29scy4KIwojIFRoaXMgd29yayBpcyBDYWRlbmNlIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBhbmQgbWF5IHVuZGVyIG5vIGNpcmN1bXN0YW5jZXMgYmUKIyBnaXZlbiB0byB0aGlyZCBwYXJ0aWVzLCBuZWl0aGVyIGluIG9yaWdpbmFsIG5vciBpbiBtb2RpZmllZCB2ZXJzaW9ucywgd2l0aG91dAojIGV4cGxpY2l0IHdyaXR0ZW4gcGVybWlzc2lvbiBmcm9tIENhZGVuY2UuIFRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGlzCiMgdGhlIHByb3ByaWV0YXJ5IGFuZCBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gb2YgQ2FkZW5jZSBvciBpdHMgbGljZW5zb3JzLCBhbmQKIyBpcyBzdXBwbGllZCBzdWJqZWN0IHRvLCBhbmQgbWF5IGJlIHVzZWQgb25seSBieSBDYWRlbmNlJ3MgY3VycmVudCBjdXN0b21lcnMKIyBpbiBhY2NvcmRhbmNlIHdpdGgsIGEgcHJldmlvdXNseSBleGVjdXRlZCBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIENhZGVuY2UKIyBhbmQgaXRzIGN1c3RvbWVyLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUSElTIE1BVEVSSUFMIElTIFBST1ZJREVEIEJZIENBREVOQ0UgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAojIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCiMgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KIyBJTiBOTyBFVkVOVCBTSEFMTCBDQURFTkNFIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwKIyBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLAojIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUgojIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgIE1BVEVSSUFMLCBFVkVOIElGCiMgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCmdsb2JhbCB2YXJzCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRGVmaW5lIHNvbWUgdmFyaWFibGVzIHRvIHBvaW50IHRvIGRhdGEsIGxpYnJhcmllcywgYW5kIHNjcmlwdHMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzZXQgdmFycyhkZXNpZ25fcm9vdCkgIFtwd2RdLy4uLy4uCnNldCB2YXJzKGRhdGFfcm9vdCkgIi4uLy4uL291dHB1dHMvIgpzZXQgdmFycyhsaWJyYXJ5X3Jvb3QpICIuLi8uLi9vdXRwdXRzLyIKc2V0IHZhcnMoc2NyaXB0X3Jvb3QpICBbcHdkXS9TQ1JJUFRTCiNzZXQgaW5pdF9pb19maWxlIGVuY291bnRlci5pbwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGRlZmluZSB0aGUgZGVzaWduIGRhdGEKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIHZhcnMoZGVzaWduKSAgICAgICA8ZGVzaWduIG5hbWU+IFJFUVVJUkVECiMgdmFycyhuZXRsaXN0KSAgICAgIDx2ZXJpbG9nIG5ldGxpc3QgZmlsZT4gUkVRVUlSRUQKIyB2YXJzKGN0c19zcGVjKSAgICAgPGN0cyBzcGVjIGZpbGUgbGlzdCA+IFJFUVVJUkVECiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFaXRoZXIgZnBfZmlsZSwgZGVmX2ZpbGVzIG9yIGJvdGggTVVTVCBiZSBkZWZpbmVkCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyB2YXJzKGZwX2ZpbGUpICAgICAgPGZsb29ycGxhbiBmaWxlPgojIHZhcnMoZnBfZmlsZSkgICAgICA8Zmxvb3JwbGFuIFRDTCBmaWxlPgojIHZhcnMoZGVmX2ZpbGVzKSAgICAgPGZsb29ycGxhbiBERUYgZmlsZT4KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzZXQgdmFycyhkZXNpZ24pICAgICAgICAgICAicmlzY3YiCnNldCB2YXJzKG5ldGxpc3QpICAgICAgICAgICIkdmFycyhkYXRhX3Jvb3QpL3Jpc2N2LnZoIgojc2V0IHZhcnMoZnBfZmlsZSkgICAgJHZhcnMoZGF0YV9yb290KS9kdG1mX3JlY3ZyX2NvcmUuZnAKI3NldCB2YXJzKGN0c19zcGVjKSAgIiR2YXJzKGRhdGFfcm9vdCkvZHRtZl9yZWN2cl9jb3JlLmN0c3RjaCIKI3NldCB2YXJzKGRlZl9maWxlcykgIiR2YXJzKGRhdGFfcm9vdCkvZHRtZl9yZWN2cl9jb3JlLnNjYW4uZGVmLmd6IgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgdmFycyhjcGZfZmlsZSkgICAgPFJFUVVJUkVEIGZvciBMUCBmbG93cz4KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojc2V0IHZhcnMoY3BmX2ZpbGUpICAgJHZhcnMoZGF0YV9yb290KS9kdG1mX3JlY3ZyX2NvcmUuY3BmCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgVGhlIGZvbGxvd2luZyBhcmUgZm9yIHRoZSBJTE0gYmFzZWQgaGllcmFyY2hpY2FsIGZsb3cKIyB2YXJzKHBhcnRpdGlvbl9saXN0KSAgICAgICAgICAgICAgICAgICAgIDxwdG4xPiA8cHRuMj4gLi4uIFJFUVVJUkVECiMgdmFycyg8cHRuMT4sY3RzX3NwZWMpICAgICAgICAgICAgICAgICAgICA8Y3RzIHNwZWMgZm9yIHB0bjE+IAojIHZhcnMoPHB0bjE+LGxhdGVuY3lfc2RjKSAgICAgICAgICAgICAgICAgPGxhdGVuY3kgc2RjIGZvciBwdG4xPiAKIyB2YXJzKDxwdG4xPixpbmNyX2N0c19zZGMpICAgICAgICAgICAgICAgIDxwb3N0IGN0cyBpbmNyIHNkYyBmb3IgcHRuMT4gT1BUSU9OQUwKIyB2YXJzKDxwdG4xPixwb3N0X2N0c19zZGMpICAgICAgICAgICAgICAgIDxwb3N0IGN0cyAoZnVsbCkgc2RjIGZvciBwdG4xPiBPUFRJT05BTAojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiNzZXQgdmFycyhwYXJ0aXRpb25fbGlzdCkgICAgICAgICAgICAgICAgICAgInRkc3BfY29yZSByZXN1bHRzX2NvbnYiCiNzZXQgdmFycyhkdG1mX3JlY3ZyX2NvcmUsY3RzX3NwZWMpICAgICAgICAgJHZhcnMoZGF0YV9yb290KS9kdG1mX3JlY3ZyX2NvcmUuY3RzdGNoCiNzZXQgdmFycyhkdG1mX3JlY3ZyX2NvcmUsbGF0ZW5jeV9zZGMpICAgICAgJHZhcnMoZGF0YV9yb290KS9kdG1mX3JlY3ZyX2NvcmUubGF0ZW5jeS5zZGMKI3NldCB2YXJzKHRkc3BfY29yZSxjdHNfc3BlYykgICAgICAgICAgICAgICAkdmFycyhkYXRhX3Jvb3QpL3Rkc3BfY29yZS5jdHN0Y2gKI3NldCB2YXJzKHRkc3BfY29yZSxzZXR1cF9mdW5jLGxhdGVuY3lfc2RjKSAkdmFycyhkYXRhX3Jvb3QpL3Rkc3BfY29yZS5sYXRlbmN5LnNkYwojc2V0IHZhcnMocmVzdWx0c19jb252LGN0c19zcGVjKSAgICAgICAgICAgICR2YXJzKGRhdGFfcm9vdCkvcmVzdWx0c19jb252LmN0c3RjaAojc2V0IHZhcnMocmVzdWx0c19jb252LGxhdGVuY3lfc2RjKSAgICAgICAgICR2YXJzKGRhdGFfcm9vdCkvcmVzdWx0c19jb252LmxhdGVuY3kuc2RjCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgVGhlIGZvbGxvd2luZyBhcmUgUkVRVUlSRUQKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIHZhcnMocHJvY2VzcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb2Nlc3Mgbm9kZT4gKDY1bm0sIDkwbm0sIGUuZy4pCiMgdmFycyhtYXhfcm91dGVfbGF5ZXJzKSAgICAgICAgICAgICAgICAgICA8dG9wIHJvdXRpbmcgbGF5ZXI+CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKc2V0IHZhcnMocHJvY2VzcykgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMG5tCnNldCB2YXJzKG1heF9yb3V0ZV9sYXllcikgICAgICAgICAgICAgICAgICA1CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRGVmaW5lIGxpYnJhcnkgc2V0cyAuLi4KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIHNldCB2YXJzKGxpYnJhcnlfc2V0cykgIjxzZXQxPiA8c2V0Mj4gLi4uIgojIHNldCB2YXJzKDxzZXQxPix0aW1pbmcpIDxsaXN0IG9mIGxpYiBmaWxlcz4gKFJFUVVJUkVEKQojIHNldCB2YXJzKDxzZXQxPixzaSkgICAgIDxsaXN0IG9mIGNkYi91ZG4gZmlsZXM+IChPUFRJT05BTCkKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzZXQgdmFycyhsaWJyYXJ5X3NldHMpICAgImxpYnNfdHQiCnNldCB2YXJzKGxpYnNfdHQsdGltaW5nKSAiLi4vLi4vb3V0cHV0cy9za3kxMzBfb3N1X3NjXzE4VF9oc19UVF8xUDhfMjVDLmNjcy5saWIiCnNldCB2YXJzKGxlZl9maWxlcykgIi4uLy4uL2NoYXIvdGVjaGZpbGVzL3NreTEzMF9vc3Vfc2MudGxlZiBcCgkJICAgICAuLi8uLi9vdXRwdXRzL3NreTEzMF9vc3Vfc2NfMThULmxlZiAiCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRGVmaW5lIHJjIGNvcm5lcnMgLi4uCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBzZXQgdmFycyhyY19jb3JuZXJzKSAgICAgICAgICAiPGNvcm5lcjE+IDxjb3JuZXIyPiAuLi4iCiMgc2V0IHZhcnMoPGNvcm5lcjE+LFQpICAgICAgICAgIDx0ZW1wZXJhdHVyZT4KIyBzZXQgdmFycyg8Y29ybmVyMT4sY2FwX3RhYmxlKSAgPGNhcCB0YWJsZSBmb3IgY29ybmVyMT4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE9wdGlvbmFsbHkgZGVmaW5lIFFSQyB0ZWNobm9sb2d5IGluZm9ybWF0aW9uCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBzZXQgdmFycyg8Y29ybmVyPixxeF90ZWNoX2ZpbGUpIDxxeF90ZWNoX2ZpbGUgZm9yIGNvcm5lcjE+CiMgc2V0IHZhcnMoPGNvcm5lcj4scXhfbGliX2ZpbGUpICA8cXhfbGliX2ZpbGUgZm9yIGNvcm5lcjE+CiMgc2V0IHZhcnMoPGNvcm5lcj4scXhfY29uZl9maWxlKSA8cXhfY29uZl9maWxlIGZvciBjb3JuZXIxPgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnNldCB2YXJzKHJjX2Nvcm5lcnMpICAgICAgICAgICJyY190eXAiCnNldCB2YXJzKHJjX3R5cCxUKSAgICAgICAgICAgIDI1Cgojc2V0IHZhcnMocmNfbWF4LGNhcF90YWJsZSkgICAgJHZhcnMoZGVzaWduX3Jvb3QpL0xJQlMvTjQ1L2NhcFRibC9jbG40NWxwX2VkcmFtXzFwMDhtX2N3b3JzdC5jYXBUYmwKI3NldCB2YXJzKHJjX21pbixjYXBfdGFibGUpICAgICR2YXJzKGRlc2lnbl9yb290KS9MSUJTL040NS9jYXBUYmwvY2xuNDVscF9lZHJhbV8xcDA4bV9jYmVzdC5jYXBUYmwKI3NldCB2YXJzKHJjX21heCxxeF90ZWNoX2ZpbGUpICR2YXJzKGRlc2lnbl9yb290KS9MSUJTL040NS9xcmMvY2xuNDVscF9lZHJhbV8xcDA4bV9jd29yc3QvaWNlY2Fwcy50Y2gKI3NldCB2YXJzKHJjX21pbixxeF90ZWNoX2ZpbGUpICR2YXJzKGRlc2lnbl9yb290KS9MSUJTL040NS9xcmMvY2xuNDVscF9lZHJhbV8xcDA4bV9jYmVzdC9pY2VjYXBzLnRjaAojc2V0IHZhcnMocXhfbGF5ZXJfbWFwX2ZpbGUpICAgJHZhcnMoZGVzaWduX3Jvb3QpL0xJQlMvTjQ1L3FyYy9sYXllci5tYXAKI3NldCB2YXJzKHNpZ25vZmZfZXh0cmFjdGlvbl9lbmdpbmUpIHFyYwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNjYWxlIGZhY3RvcnMgYXJlIGFsc28gb3B0aW9uYWwgYnV0IGFyZSBzdHJvbmdseSBlbmNvdXJhZ2VkIGZvciAKIyBvYnRhaW5pbmcgdGhlIGJlc3QgZmxvdyBjb252ZXJnZW5jZSBhbmQgUW9SLiAgCiMgU2NhbGluZyBmYWN0b3JzIGFyZSBhcHBsaWVkIHBlciByYyBjb3JuZXIKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIHNldCB2YXJzKDxyY19jb3JuZXI+LGRlZl9yZXNfZmFjdG9yKSAgICAgPHByZS1yb3V0ZSByZXNpc3RhbmNlIHNjYWxlIGZhY3Rvcj4KIyBzZXQgdmFycyg8cmNfY29ybmVyPixkZWZfY2xrX3Jlc19mYWN0b3IpIDxwcmUtcm91dGUgY2xvY2sgcmVzaXN0YW5jZSBzY2FsZSBmYWN0b3I+CiMgc2V0IHZhcnMoPHJjX2Nvcm5lcj4sZGV0X3Jlc19mYWN0b3IpICAgICA8cG9zdC1yb3V0ZSByZXNpc3RhbmNlIHNjYWxlIGZhY3Rvcj4KIyBzZXQgdmFycyg8cmNfY29ybmVyPixkZXRfY2xrX3Jlc19mYWN0b3IpIDxwb3N0LXJvdXRlIGNsb2NrIHJlc2lzdGFuY2Ugc2NhbGUgZmFjdG9yPgojIHNldCB2YXJzKDxyY19jb3JuZXI+LGRlZl9jYXBfZmFjdG9yKSAgICAgPHByZS1yb3V0ZSBjYXBhY2l0YW5jZSBzY2FsZSBmYWN0b3I+CiMgc2V0IHZhcnMoPHJjX2Nvcm5lcj4sZGVmX2Nsa19jYXBfZmFjdG9yKSA8cHJlLXJvdXRlIGNsb2NrIGNhcGFjaXRhbmNlIHNjYWxlIGZhY3Rvcj4KIyBzZXQgdmFycyg8cmNfY29ybmVyPixkZXRfY2FwX2ZhY3RvcikgICAgIDxwb3N0LXJvdXRlIGNhcGFjaXRhbmNlIHNjYWxlIGZhY3Rvcj4KIyBzZXQgdmFycyg8cmNfY29ybmVyPixkZXRfY2xrX2NhcF9mYWN0b3IpIDxwb3N0LXJvdXRlIGNsb2NrIGNhcGFjaXRhbmNlIHNjYWxlIGZhY3Rvcj4KIyBzZXQgdmFycyg8cmNfY29ybmVyPix4Y2FwX2ZhY3RvcikgICAgICAgIDxwb3N0LXJvdXRlIGNvdXBsaW5nIGNhcGFjaXRhbmNlIHNjYWxlIGZhY3Rvcj4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzZXQgdmFycyhyY19tYXgsZGVmX3Jlc19mYWN0b3IpICAgICAxLjAwCnNldCB2YXJzKHJjX21heCxkZWZfY2xrX3Jlc19mYWN0b3IpIDEuMDAKc2V0IHZhcnMocmNfbWF4LGRldF9yZXNfZmFjdG9yKSAgICAgMS4wMApzZXQgdmFycyhyY19tYXgsZGV0X2Nsa19yZXNfZmFjdG9yKSAxLjAwCnNldCB2YXJzKHJjX21heCxkZWZfY2FwX2ZhY3RvcikgICAgIDEuMDkKc2V0IHZhcnMocmNfbWF4LGRlZl9jbGtfY2FwX2ZhY3RvcikgMS4wMApzZXQgdmFycyhyY19tYXgsZGV0X2NhcF9mYWN0b3IpICAgICAxLjAwCnNldCB2YXJzKHJjX21heCxkZXRfY2xrX2NhcF9mYWN0b3IpIDEuMDAKc2V0IHZhcnMocmNfbWF4LHhjYXBfZmFjdG9yKSAgICAgICAgMS4wMAoKc2V0IHZhcnMocmNfbWluLGRlZl9yZXNfZmFjdG9yKSAgICAgMS4wMApzZXQgdmFycyhyY19taW4sZGV0X3Jlc19mYWN0b3IpICAgICAxLjAwCnNldCB2YXJzKHJjX21pbixkZWZfY2FwX2ZhY3RvcikgICAgIDEuMDAKc2V0IHZhcnMocmNfbWluLGRldF9jYXBfZmFjdG9yKSAgICAgMS4wMApzZXQgdmFycyhyY19taW4seGNhcF9mYWN0b3IpICAgICAgICAxLjAwCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRGVmaW5lIG9wZXJhdGluZyBjb25kaXRpb25zIChvcHRpb25hbCkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIHNldCB2YXJzKG9wY29uZHMpICAgICAgICAgICAgICAgICI8b3Bjb25kMT4gPG9wY29uZDI+IC4uLiIKIyBzZXQgdmFycyg8b3Bjb25kMT4sbGlicmFyeV9maWxlKSAgPGxpYnJhcnkgZmlsZSA+CiMgc2V0IHZhcnMoPG9wY29uZDE+LHByb2Nlc3MpICAgICAgIDxwcm9jZXNzIHNjYWxlIGZhY3Rvcj4KIyBzZXQgdmFycyg8b3Bjb25kMT4sdm9sdGFnZSkgICAgICAgPHZvbHRhZ2U+CiMgc2V0IHZhcnMoPG9wY29uZDE+LHRlbXBlcmF0dXJlKSAgIDx0ZW1wZXJhdHVyZT4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIERlZmluZSBkZWxheSBjb3JuZXJzIC4uLgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgc2V0IHZhcnMoZGVsYXlfY29ybmVycykgICAgICAgICAgIjxjb3JuZXIxPiA8Y29ybmVyMj4gLi4uIgojIHNldCB2YXJzKDxjb3JuZXIxPixsaWJyYXJ5X3NldCkgICA8bGlicmFyeV9zZXQ+IChwcmV2aW91c2x5IGRlZmluZWQpCiMgc2V0IHZhcnMoPGNvcm5lcjE+LG9wY29uZCkgICAgICAgIDxvcGNvbmQ+IChwcmV2aW91c2x5IGRlZmluZWQpIChvcHRpb25hbCkKIyBzZXQgdmFycyg8Y29ybmVyMT4scmNfY29ybmVyKSAgICAgPHJjX2Nvcm5lcj4gKHByZXZpb3VzbHkgZGVmaW5lZCkKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzZXQgdmFycyhkZWxheV9jb3JuZXJzKSAiY29ybmVyX3R0IgpzZXQgdmFycyhjb3JuZXJfdHQsbGlicmFyeV9zZXQpIGxpYnNfdHQKc2V0IHZhcnMoY29ybmVyX3R0LHJjX2Nvcm5lcikgcmNfdHlwCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRGVmaW5lIGNvbnN0cmFpbnRzIG1vZGVzIC4uLiAKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIHNldCB2YXJzKGNvbnN0cmFpbnRfbW9kZXMpICAgICAgICAgICI8bW9kZTE+IDxtb2RlMj4gLi4uIgojIHNldCB2YXJzKDxtb2RlMT4scHJlX2N0c19zZGMpICAgICAgICA8cHJlIGN0cyBjb25zdHJhaW50IGZpbGU+CiMgc2V0IHZhcnMoPG1vZGUxPixwb3N0X2N0c19zZGMpICAgICAgIDxwb3N0IGN0cyBjb25zdHJhaW50IGZpbGU+IChvcHRpb25hbCkKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKc2V0IHZhcnMoY29uc3RyYWludF9tb2RlcykgInNldHVwX2Z1bmNfbW9kZSIKc2V0IHZhcnMoc2V0dXBfZnVuY19tb2RlLHByZV9jdHNfc2RjKSAiJHZhcnMoZGF0YV9yb290KS9yaXNjdi5zZGMiCgojc2V0IHZhcnMoY29uc3RyYWludF9tb2RlcykgICAgICAgICAgICAgInNldHVwX2Z1bmNfbW9kZSBob2xkX2Z1bmNfbW9kZSIKI3NldCB2YXJzKHNldHVwX2Z1bmNfbW9kZSxwcmVfY3RzX3NkYykgICIkdmFycyhkYXRhX3Jvb3QpL2R0bWZfcmVjdnJfY29yZS5zZGMgJHZhcnMoZGF0YV9yb290KS9wcmVjdHMuc2RjIgojc2V0IHZhcnMoc2V0dXBfZnVuY19tb2RlLHBvc3RfY3RzX3NkYykgIiR2YXJzKGRhdGFfcm9vdCkvZHRtZl9yZWN2cl9jb3JlLnNkYyAkdmFycyhkYXRhX3Jvb3QpL3Bvc3RjdHMuc2RjIgojc2V0IHZhcnMoc2V0dXBfZnVuY19tb2RlLGluY3JfY3RzX3NkYykgICR2YXJzKGRhdGFfcm9vdCkvcG9zdGN0cy5zZGMKCiNzZXQgdmFycyhob2xkX2Z1bmNfbW9kZSxwcmVfY3RzX3NkYykgICAgJHZhcnMoc2V0dXBfZnVuY19tb2RlLHByZV9jdHNfc2RjKQojc2V0IHZhcnMoaG9sZF9mdW5jX21vZGUscG9zdF9jdHNfc2RjKSAgICR2YXJzKHNldHVwX2Z1bmNfbW9kZSxwb3N0X2N0c19zZGMpCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRGVmaW5lIGFuYWx5c2lzIHZpZXdzIC4uLgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgc2V0IHZhcnMoc2V0dXBfYW5hbHlzaXNfdmlld3MpICAgICI8dmlldzE+IDx2aWV3Mj4iCiMgc2V0IHZhcnMoaG9sZF9hbmFseXNpc192aWV3cykgICAgICI8dmlldzE+IDx2aWV3Mj4iCiMgc2V0IHZhcnMoPHZpZXcxPixkZWxheV9jb3JuZXIpICAgICA8ZGVsYXkgY29ybmVyPgojIHNldCB2YXJzKDx2aWV3MT4sY29uc3RyYWludF9tb2RlKSAgPGNvbnN0cmFpbnQgbW9kZT4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzZXQgdmFycyhob2xkX2FuYWx5c2lzX3ZpZXdzKSAic2V0dXBfZnVuYyIKc2V0IHZhcnMoc2V0dXBfYW5hbHlzaXNfdmlld3MpICJob2xkX2Z1bmMiCnNldCB2YXJzKGhvbGRfZnVuYyxkZWxheV9jb3JuZXIpIGNvcm5lcl90dApzZXQgdmFycyhob2xkX2Z1bmMsY29uc3RyYWludF9tb2RlKSBzZXR1cF9mdW5jX21vZGUKc2V0IHZhcnMoc2V0dXBfZnVuYyxkZWxheV9jb3JuZXIpIGNvcm5lcl90dApzZXQgdmFycyhzZXR1cF9mdW5jLGNvbnN0cmFpbnRfbW9kZSkgc2V0dXBfZnVuY19tb2RlCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRGVmaW5lIGFjdGl2ZSBzZXR1cCBhbmQgaG9sZCB2aWV3cyBhbmQgZGVub3RlIHdoaWNoIGFyZSBkZWZhdWx0CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKc2V0IHZhcnMoZGVmYXVsdF9zZXR1cF92aWV3KSAic2V0dXBfZnVuYyIKc2V0IHZhcnMoZGVmYXVsdF9ob2xkX3ZpZXcpICAiaG9sZF9mdW5jIgpzZXQgdmFycyhhY3RpdmVfc2V0dXBfdmlld3MpICJzZXR1cF9mdW5jIgpzZXQgdmFycyhhY3RpdmVfaG9sZF92aWV3cykgICJob2xkX2Z1bmMiCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRGVmaW5lIGRlcmF0aW5nIGZhY3RvcnMgZm9yIE9DViBoZXJlIChjbG9jayBhbmQgZGF0YSkuIAojIERlcmF0aW5nIGZhY3RvcnMgYXJlIGFwcGxpZWQgcGVyIGRlbGF5IGNvcm5lcgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnNldCB2YXJzKHNsb3dfbWF4LGRhdGFfY2VsbF9sYXRlKSAgIDEuMDAKc2V0IHZhcnMoc2xvd19tYXgsZGF0YV9jZWxsX2Vhcmx5KSAgMS4wMApzZXQgdmFycyhzbG93X21heCxkYXRhX25ldF9sYXRlKSAgICAxLjAwCnNldCB2YXJzKHNsb3dfbWF4LGRhdGFfbmV0X2Vhcmx5KSAgIDEuMDAKc2V0IHZhcnMoc2xvd19tYXgsY2xvY2tfY2VsbF9sYXRlKSAgMS4wMApzZXQgdmFycyhzbG93X21heCxjbG9ja19jZWxsX2Vhcmx5KSAxLjAwCnNldCB2YXJzKHNsb3dfbWF4LGNsb2NrX25ldF9sYXRlKSAgIDEuMDAKc2V0IHZhcnMoc2xvd19tYXgsY2xvY2tfbmV0X2Vhcmx5KSAgMS4wMAoKc2V0IHZhcnMoZmFzdF9taW4sZGF0YV9jZWxsX2xhdGUpICAgMS4wMApzZXQgdmFycyhmYXN0X21pbixkYXRhX2NlbGxfZWFybHkpICAxLjAwCnNldCB2YXJzKGZhc3RfbWluLGRhdGFfbmV0X2xhdGUpICAgIDEuMDAKc2V0IHZhcnMoZmFzdF9taW4sZGF0YV9uZXRfZWFybHkpICAgMS4wMApzZXQgdmFycyhmYXN0X21pbixjbG9ja19jZWxsX2xhdGUpICAxLjAwCnNldCB2YXJzKGZhc3RfbWluLGNsb2NrX2NlbGxfZWFybHkpIDEuMDAKc2V0IHZhcnMoZmFzdF9taW4sY2xvY2tfbmV0X2xhdGUpICAgMS4wMApzZXQgdmFycyhmYXN0X21pbixjbG9ja19uZXRfZWFybHkpICAxLjAwCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRGVmaW5lIHBvd2VyL2dyb3VuZCBuZXRzCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKc2V0IHZhcnMocG93ZXJfbmV0cykgIlZERCIKc2V0IHZhcnMoZ3JvdW5kX25ldHMpICJWU1MiCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIERpc3RyaWJ1dGlvbiBzZXR1cAojIGxzZiwgcnNoLCBsb2NhbCwgb3IgY3VzdG9tCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiNzZXQgdmFycyhkaXN0cmlidXRlKSAgICAgICAgICAgY3VzdG9tCiNzZXQgdmFycyhjdXN0b20sc2NyaXB0KSAgICAgICAgey9ncmlkL3NmaS9mYXJtL2Jpbi9ncmlkc3ViIC1XIDcyOjAwIC1QIFNPQzcuMSBcCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1SICJTRklBUkNIPT1PUFQ2NCAmJiBPU1JFTD09RUU0MCIgLXEgbG54NjR9CiNzZXQgdmFycyhsb2NhbF9jcHVzKSAgICAgICAgICAgMgojc2V0IHZhcnMocmVtb3RlX2hvc3RzKSAgICAgICAgIDQKI3NldCB2YXJzKGNwdV9wZXJfcmVtb3RlX2hvc3QpICAyCgpQdXRzICI8RkY+IEZpbmlzaGVkIGxvYWRpbmcgc2V0dXAudGNsIgo=